sed (2)
# remplace toto par tata dans toutes les lignes contenant titi
$ sed '/titi/s/toto/tata/g'
# remplace toto par tata dans toutes les lignes ne contenant pas titi
$ sed '/titi/!s/toto/tata/g'
# imprime les 10 premières lignes, comme le ferait head (utile pour comprendre la suite)
$ sed 10q
# imprimes toutes les lignes sauf celles entre "tata" et "toto"
$ sed '/tata/,/toto/d'
# imprime la ligne 52
$ sed -n '52p' # méthode 1
$ sed '52!d' # méthode 2
$ sed '52q;d' # méthode 3, arrête la lecture dès qu'elle a matché
# supprime les 10 premières lignes
$ sed '1,10d'
# imprime les 10 dernières lignes, comme le ferait tail (plus difficile)
$ sed -e :a -e '$q;N;11,$D;ba'
$ sed '/titi/s/toto/tata/g'
# remplace toto par tata dans toutes les lignes ne contenant pas titi
$ sed '/titi/!s/toto/tata/g'
# imprime les 10 premières lignes, comme le ferait head (utile pour comprendre la suite)
$ sed 10q
# imprimes toutes les lignes sauf celles entre "tata" et "toto"
$ sed '/tata/,/toto/d'
# imprime la ligne 52
$ sed -n '52p' # méthode 1
$ sed '52!d' # méthode 2
$ sed '52q;d' # méthode 3, arrête la lecture dès qu'elle a matché
# supprime les 10 premières lignes
$ sed '1,10d'
# imprime les 10 dernières lignes, comme le ferait tail (plus difficile)
$ sed -e :a -e '$q;N;11,$D;ba'
# imprime les 2 dernières lignes ("tail -2")
$ sed '$!N;$!D'
# imprime les lignes qui matchent (grep)
$ sed -n '/regexp/p' # méthode 1
$ sed '/regexp/!d' # méthode 2
# imprime les lignes qui ne matchent pas (grep -v)
$ sed -n '/regexp/!p' # méthode 1
$ sed '/regexp/d' # méthode 2
# imprime la ligne précédant le match
$ sed -n '/regexp/{g;1!p;};h'
# imprime la ligne succédant au match
$ sed -n '/regexp/{n;p;}'
# imprime une ligne sur 7 à partir de la 3e
$ gsed -n '3~7p' # GNU sed only
$ sed -n '3,${p;n;n;n;n;n;n;}' # other seds
# supprime les 10 dernières lignes
$ sed -e :a -e '$d;N;2,10ba' -e 'P;D' # méthode 1
$ sed -n -e :a -e '1,10!{P;N;D;};N;ba' # méthode2
$ sed '$!N;$!D'
# imprime les lignes qui matchent (grep)
$ sed -n '/regexp/p' # méthode 1
$ sed '/regexp/!d' # méthode 2
# imprime les lignes qui ne matchent pas (grep -v)
$ sed -n '/regexp/!p' # méthode 1
$ sed '/regexp/d' # méthode 2
# imprime la ligne précédant le match
$ sed -n '/regexp/{g;1!p;};h'
# imprime la ligne succédant au match
$ sed -n '/regexp/{n;p;}'
# imprime une ligne sur 7 à partir de la 3e
$ gsed -n '3~7p' # GNU sed only
$ sed -n '3,${p;n;n;n;n;n;n;}' # other seds
# supprime les 10 dernières lignes
$ sed -e :a -e '$d;N;2,10ba' -e 'P;D' # méthode 1
$ sed -n -e :a -e '1,10!{P;N;D;};N;ba' # méthode2
Publicité