Dalam contoh berikut, sedcocokkan garis yang dimulai dengan a aatau a cdan cetak karakter pertama dari garis itu ( aatau 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
Namun, garis-garis yang tidak cocok dengan pola juga dicetak. Bagaimana saya mengatakan seduntuk menghilangkan garis yang tidak cocok dengan pola? Saya dapat memperoleh efek yang diinginkan dengan menggabungkannya dengan grep(sebagai berikut) tetapi saya ingin tahu apakah seddapat mencapai itu "dengan sendirinya".
$ echo "ag
bh
ci
dj
ek
fl" | grep '[ac]' | sed 's/\(a\|c\)./\1/'
output:
a
c
Tidak masalah untuk apa yang benar-benar ingin Anda ketahui, tetapi pola Anda harus dimulai dengan ^ jadi itu berlabuh ke awal baris. Seperti yang dikodekan, itu akan cocok dengan a atau c di mana saja dalam baris selama itu bukan karakter terakhir.
—
Joe