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.txtSuppression ( delete )
Suppression de la ligne 1 et de la ligne 4 de fichier.txt . Ici ; signifie et.
sed '1d;4d' fichier.txtSuppression de la ligne 1 à la ligne 4 de fichier.txt . Ici , signifie jusqu’a.
sed '1d,4d' fichier.txtSuppression de toutes les lignes de fichier.txt qui commence par #. Ici ^ signifie commence par.
sed '/^#/d' fichier.txtSuppression de la ligne 1 et de toutes les lignes de fichier.txt qui commence par #
sed '1d;/^#/d' fichier.txtSuppression des lignes de fichier.txt comprenant motcible
sed '/motcible/d' fichier.txtSubstitution
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.txtIci 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.txtIci 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.txtIci 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.txtIci 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.txtDivers
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