admin:systeme:sed

Ceci est une ancienne révision du document !


Sed

C’est l’outil absolu pour modifier du texte en le passant par un pipe ! Ou pour effectuer des changements en masses sur un fichier sans l’ouvrir. Bref, comme le dit l’adage : « Sed, c’est bien » 😁

On va prendre comme exemple la substitution qui transforme foo en bar.

Pour modifier la sortie d’une commande :

echo 'foo' | sed -e 's/foo/bar/'

Pour afficher un fichier en modifiant son contenu (seul l’affichage est modifié, le fichier ne change pas) :

sed -e 's/foo/bar/' fichier.txt

Pour modifier un fichier (là ça change le fichier) :

sed -e 's/foo/bar/' -i fichier.txt

Pour supprimer les retours à la ligne (là je les remplace par des espaces) :

echo -e "foo\nbar" | sed -z 's/\n/ /g'
echo -e "foo\nbar" | sed ':a;N;$!ba;s/\n/ /g'

NB : on peut aussi utiliser tr.

echo -e "foo\nbar" | tr '\n' ' '
  • admin/systeme/sed.1565336072.txt.gz
  • Dernière modification: 2019/08/09 09:34
  • par luc