J'ai un certain nombre de fichiers que je souhaite mettre à jour en remplaçant une chaîne multi-lignes par une autre chaîne multi-lignes. Quelque chose dans le sens de:
* Some text,
* something else
* another thing
Et je veux le remplacer par:
* This is completely
* different text
Le résultat serait qu'après le remplacement, le fichier contenant le premier bloc de texte contiendra désormais la deuxième chaîne (le reste du fichier est inchangé).
Une partie du problème est que je dois trouver la liste des fichiers à mettre à jour dans le système de fichiers. Je suppose que je peux utiliser grep pour cela (bien que ce ne soit pas aussi facile à faire avec des chaînes multilignes) que le canaliser dans sed peut-être?
Y a-t-il un moyen facile de faire ceci? Sed est une option mais c'est gênant car je dois ajouter \ n etc. Existe-t-il un moyen de dire "prenez l'entrée de ce fichier, faites-la correspondre dans ces fichiers, puis remplacez-la par le contenu de cet autre fichier"? Je peux utiliser python si besoin est, mais je veux quelque chose de simple et rapide, donc s'il y a un utilitaire disponible, je préfère l'utiliser plutôt que d'écrire mon propre script (que je sais faire).
some text, something else another thing
s'il s'étend sur plusieurs lignes ou non? Ou vous voulez seulement correspondre some text,\nsomething else\nanotherthing
?