Düzenli ifadeler birçok farklı aromaya sahiptir. Gösterdiğiniz, Perl benzeri bir normal ifadedir (PCRE, "Perl Uyumlu Düzenli İfade").
grep
POSIX düzenli ifadeleri yapar. Bunlar temel normal ifadeler (BRE) ve genişletilmiş düzenli ifadelerdir ( seçenekle grep
birlikte kullanılıyorsa ERE -E
). Kılavuzunuzun sisteminizdeki kılavuzuna re_format
veya regex
benzer grep
kılavuzlara veya az önce bağlandığım POSIX standart metinlerine bakın.
GNU grep
kullanırsanız grep
, GNU'ya grep
özgü -P
seçenekle kullandıysanız Perl benzeri normal ifadeleri kullanabilirsiniz .
Ayrıca , satırların alt dizeleri değil, varsayılan olarak satırlarıgrep
döndürdüğünü unutmayın . Yine, GNU (ve diğer bazı uygulamalar) ile, yalnızca her satırdan verilen ifadeyle eşleşen bit (ler) i almak için bu seçeneği kullanabilirsiniz .grep
grep
-o
Her iki Not -P
ve -o
standart olmayan uzantıları POSIX özelliklerigrep
.
GNU grep
kullanmıyorsanız, sed
bunun yerine dize prefix
ile satır sonu arasında bit elde etmek için kullanabilirsiniz :
sed -n 's/.*prefix\(.*\)/\1/p' file
Bunun yaptığı şey, yalnızca sed
verilen ikameyi uygulamayı başaran satırları yazdırmaktır . İkame, bir BRE olan ifadeyle eşleşen tüm satırı, dizeden sonra oluşan parçayla değiştirir prefix
.
Birkaç örnek vardır eğer Not prefix
bir hat üzerinde, sed
varyasyon sonra dize dönecekti son GNU ederken, biri grep
varyasyon sonra dize dönecekti ilk (diğer örneklerini içerir one prefix
).
sed
Solüsyon tüm Unix benzeri sistemlere taşınabilir olacaktır.