La commande de substitution s
La négation !
| La commande de supression d
| Les commande d'insertions a,i
| Les autres commandes: q,= et w
| |
syntaxe : sed [-n] [-e commande] [-f fichier de commandes] [fichier]
-n | écrit seulement les lignes spécifiées (par l'option /p) sur la sortie standard |
-e | permet de specifier les commandes à appliquer sur le fichier. Cette option est utile lorque vous appliquez plusieurs commandes. Afin d'eviter que le shell interprette certains caracteres, il faut mieux encadrer la commande avec des ' ou des " . |
-f | les commandes sont lu à partir d'un fichier. |
la syntaxe générale des commandes est de la forme caracterisation_des_adresses commandes avec caractérisation_des_adresses de la forme :
toutes les lignes | |
num | la ligne num (la dernière ligne est référencée par $ |
num1,num2 | les lignes entre les lignes num1 et num2 |
RE | les lignes correspondant à l'expression régulière RE |
RE1,RE2 | les lignes entre la première ligne correspondant à l'expression régulièreRE1 et la première ligne correspondant à l'expression régulière RE2 |
flags | g | global, c'est à dire toutes les occurences de la chaine RE (par defaut seule la première occurence est remplacée) |
p | imprime la ligne (utile avec l'option -n) | |
w fichier | ecrit la ligne dans le fichier specifié en plus de la sortie standard. |
sed "s/[Cc]omputer/COMPUTER/g" fichier
sed -e "s/\([0-9][0-9]*\)/**\1**/" fichier
: encadre le premier nombre de la ligne avec des **
sed "1,10d" fichier
: sortie du fichier à partir de la onzième ligne sed "/^From/!d" fichier
: On n'efface tout sauf les lignes commençant par From , donc on imprime les lignes commençant par From. a\
texte
: écrit le texte après la ligne
i\
: écrit le texte avant la ligne
texte
exemple :
fichier de commandes :
1i\
\
------------------------------------------------------------------------------------\
LOGIN USER\
------------------------------------------------------------------------------------
s/:/!/
s/:/-/
s/:/-/
s/:/!/
s/!.*!/ /
s/:.*//
sed -f fich_commandes /etc/passwd
resultat :
------------------------------------------------------------------------------------ LOGIN USER ------------------------------------------------------------------------------------ root Operator jd Jean Dupond vm Vincent Martin
q | quitte |
= | écrit les numéro de ligne |
w fichier | écrit dans un fichier |
Un,
deux.
Trois,
quatre.
sed -e "q" fichier
resultat : Un,
sed -e "/\./=/" -e "/[A-Z]/w capitale" fichier
résultat à l'écran :
Un,
2
deux.
Trois,
4
quatre.
résultat dans le fichier capitale :
Un,
Trois,
© Isabelle Vollant
( http://www.multimania.com/vollant )