Substitution
- Substituer "foo" par "bar" à chaque ligne
- Seulement la 1ère occurrence
- Seulement la 3ème occurrence
- Toutes les occurrences
- Seulement l'avant dernière occurrence
- Seulement la dernière occurrence
- Substituer "foo" par "bar" seulement les lignes contenant "plop"
- Substituer "foo" par "bar" excepté les lignes contenant "plop"
sed '/plop/! s/foo/bar/g'
- Substituer "Foo" ou "foo" par "bar" à chaque ligne
- Substituer "bleu" ou "blanc" ou "rouge" par "vert"
Affichage
- La 1ère ligne (head -1)
- Les 5 premières lignes (head -5)
- La dernière ligne (tail -1)
- Les 5 dernières lignes (tail -5)
- Les 2 dernières lignes (tail -2)
- Seulement les lignes matchant un motif ou une expression régulière
sed -n '/motif/p'
sed '/regexp/!d'
- Seulement les lignes ne matchant pas un motif ou une expression régulière
sed -n '/motif/!p'
sed '/regexp/d'
- La ligne précédent un motif ou une expression régulière
- La ligne suivant un motif ou une expression régulière
Suppression
Espace et tabulation
- Éliminer les espaces et tabulations
- En début de ligne
- En fin de ligne
- En début et fin de ligne
Ligne vide
- Éliminer les lignes vides
- Toutes les lignes vides
- Uniquement celles d'en tête
- Uniquement celles de fin
Intervalle régulier
- Éliminer une ligne à intervalles réguliers
- Toutes les lignes paires
- Toutes les lignes impaires
- Toutes les n lignes à partir de la ligne n
Divers
Joindre des lignes
- Joindre les lignes 2 par 2
- Joindre les lignes 3 par 3
- Si une ligne se termine par un backslash (\), ajouter la ligne suivante et remplacer la fin de ligne (\n) par un espace
- Si une ligne commence par un signe égale (=), ajouter-là à la ligne précédente et remplacer le signe égale (=) par un espace
Affichage insensible à la casse
(
Afficher uniquement les lignes correspondant à un motif donné avec insensibilité à la casse)
Cette astuce fait suite à cette
discussion sur le forum
Linux/Unix
La commande "sed" possède bien un "flag" - voir
Sed - Introduction à SED - Part I - permettant de mettre en correspondance un motif sans tenir compte de la casse, mais ce flag ne s'applique qu'à la seule commande de substitution (
commande s) malheureusement.
Voilà donc une astuce permettant de se servir de ce
flag pour afficher (
ou au contraire ne pas afficher) des lignes correspondant à un motif donné sans tenir compte de sa casse.
Il suffit pour cela d'employer la commande de substitution "
s" combinée au
métacaractère "&" et bien sur du flag "
I".
Exemple pour n'afficher que les lignes contenant le terme "motif" (ou Motif, MOTIF, mOtIf, MoTiF, etc)
À compléter...