Sed
sed est un outil en ligne de commande permettant la manipulation de texte. Quand les modifications d'un fichier risque d'être longues et fastidieuses, il faut faire appel à sed. Voici une liste de commande très utile :
sed -i 's/un_mot/un_autre_mot/g' fichier.txt
Cette ligne de commande va remplacer toutes les occurrences de : "un_mot" par : "un_autre_mot" dans le fichier.txt
Mais il peut arriver qu'on souhaite modifier du texte qu'on ne connaît pas, c'est là qu'intervienne les expressions régulières ou regex.
sed -i 's/<balise>.*<\/balise>/<balise>nouveau contenu<\/balise>/g' fichier.xml
Dans ce cas l'expression régulière '.' correspond à n'importe quel caractère et '*' à n'importe quelle quantité. En d'autres termes peut importe les caractères et leur nombre, tout ce qui se trouve entre les balises sera remplacé par "nouveau contenu". Il est à noté qu'ici il est nécessaire d'échapper le caractère '/' dans "</balise>", car il s'agit du même caractère qui est utilisé comme séparateur dans la commande sed. Heureusement il est tout à fait possible d'utiliser un autre séparateur. La commande :
sed -i 's:<balise>.*</balise>:<balise>nouveau contenu</balise>:g' fichier.xml
Donnera exactement le même résultat. Mais vu qu'on utilise le séparateur ':' pour la commande sed, il n'est plus nécessaire d'échapper le caractère '/' dans "</balise>"