Aller au contenu

Utilisation de la commande sed

Sed par l’exemple : devenez expert de la commande Linux sed – Buzut

Sed Command in Linux/Unix with examples – GeeksforGeeks

Préfixe

-i Applique la commande sed directement à l’interieur du fichier fichier.txt et non pas dans la console

sed -i 'opération' fichier.txt

-e Permet plusieurs expression comme commande sur le fichier

sed -i -e 'opération1' -e 'opération2' fichier.txt

-r Redirige le résultat de la commande dans un nouveau fichier

sed -r 'opération' fichier.txt > nouveau_fichier.txt

Suppression ( delete )

Suppression de la ligne 1 et de la ligne 4 de fichier.txt . Ici ; signifie et.

sed '1d;4d' fichier.txt

Suppression de la ligne 1 à la ligne 4 de fichier.txt . Ici , signifie jusqu’a.

sed '1d,4d' fichier.txt

Suppression de toutes les lignes de fichier.txt qui commence par #. Ici ^ signifie commence par.

sed '/^#/d' fichier.txt

Suppression de la ligne 1 et de toutes les lignes de fichier.txt qui commence par #

sed '1d;/^#/d' fichier.txt

Suppression des lignes de fichier.txt comprenant motcible

sed '/motcible/d' fichier.txt

Substitution

Ici le préfixe s indique que sed procède à une substitution. Il remplace unix par linux dans chaque ligne de fichier.txt .

sed 's/unix/linux/' fichier.txt

Ici le préfixe 4 s indique que sed procède à une substitution. Il remplace unix par linux dans la 4ème ligne de fichier.txt .

sed '4 s/unix/linux/' fichier.txt

Ici le suffixe2 indique que sed procède à la substitution de la deuxième occurrence dans chaque ligne de fichier.txt .

sed 's/unix/linux/2' fichier.txt

Ici le suffixeg indique que sed procède à la substitution de façon globale, c’est à dire sur toute la ligne de chaque ligne de fichier.txt .

sed 's/unix/linux/g' fichier.txt

Ici le suffixe2g indique que sed procède à la substitution à partir de la deuxième occurrence et jusqu’à la fin de la ligne de chaque ligne de fichier.txt .

sed 's/unix/linux/2g' fichier.txt

Divers

Les backslashes qui font office de délimiteurs peuvent ne pas fonctionner pour certains scripts, par exemple lors de l’écritures de chemin de fichier. sed vous permet de changer le délimiteur en les remplacant par |

sed -i 's|/var/log/mylogfile.log|/my/alternate/path/newlog.log|g' exemple.conf
Étiquettes: