linux:sed
Ceci est une ancienne révision du document !
Table des matières
mémo sed
Cette page existe en plus complet sur http://cli.asyd.net/home/filtres/sed
Une autre doc assez complète sur http://okki666.free.fr/docmaster/articles/linux130.html
- sed -e expression : applique l'expression au flux d'entrée
- sed -ne expression : idem, mais n'affiche rien en sortie, sauf si on le précise avec p
- sed -ie expression fichier : applique l'expression au fichier (pas besoin de préciser entrée sortie). Attention, pas de sauvegarde de l'ancien fichier.
expression est en général de la forme
- n commande : applique la commande à la ligne n
- n,m commande : : applique la commande aux lignes de n à m
- /pattern/ commande : applique la commande aux lignes qui vérifient le pattern
- /pattern/,/pattern2/ commande : applique la commande aux lignes qui se trouvent entre une ligne qui vérifie pattern et une autre qui vérifie pattern2
Commandes
- = : affiche le n° de la ligne
- a : ajoute des lignes, par exemple :
sed -e '/pattern/a\ ajout d'une ligne\ et d'une autre.' < fichier_src > fichier_dest
- c : change des lignes complètes, ex (vire le corps des fonctions, blocs compris entre accolades ouvrantes/fermantes qui débutent une ligne et remplace par “[… corps de la fonction …]”
sed -e '/^{/,/^}/c\ [... corps de la fonction ...]' < fichier.c > resume
- d : efface la ligne (rmq, “!d” est souvent utilisé pour sélectionner des lignes à garder)
- i : insère avant la ligne.
- l : idem p avec les caractères de contrôle
- n : passe à la ligne suivante (sans appliquer les commandes suivantes à la ligne courante) et y applique la commande suivante.
- s/motif/remplacement/opt
- p : affiche la ligne
- y/car_src/car_dest/ : substitue des caractères par d'autres
rechercher/remplacer
s/search/replace/opt où opt peut être
- rien : la 1re occurence est remplacée
- g : toutes les occurences sont remplacées
- N : seule la Nième occurence est remplacée
- p : affiche la ligne si subtitution
- w fichier : envoie le résultat de la substitution dans un fichier
- I : insensible à la casse (extension GNU)
Caractères particulier pour le remplacement :
- \i ième référence arrière
- & chaine complète qui correspond au pattern
linux/sed.1161942136.txt.gz · Dernière modification : 07/05/2007 12:06 (modification externe)