Dans l'exemple suivant, fait sedcorrespondre les lignes commençant par un aou un cet imprime le premier caractère de cette ligne ( aou c):
$ echo "ag
bh
ci
dj
ek
fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'.
output:
a
bh
c
dj
ek
fl
Cependant, les lignes qui ne correspondent pas au motif sont également imprimées. Comment puis-je dire sedd'omettre les lignes qui ne correspondent pas au modèle? Je peux obtenir l'effet souhaité en le combinant avec grep(comme suit) mais je voudrais savoir si je sedpeux y parvenir "par lui-même".
$ echo "ag
bh
ci
dj
ek
fl" | grep '[ac]' | sed 's/\(a\|c\)./\1/'
output:
a
c