Düzenli ifadeler birçok farklı aromaya sahiptir. Gösterdiğiniz, Perl benzeri bir normal ifadedir (PCRE, "Perl Uyumlu Düzenli İfade").
grepPOSIX düzenli ifadeleri yapar. Bunlar temel normal ifadeler (BRE) ve genişletilmiş düzenli ifadelerdir ( seçenekle grepbirlikte kullanılıyorsa ERE -E). Kılavuzunuzun sisteminizdeki kılavuzuna re_formatveya regexbenzer grepkılavuzlara veya az önce bağlandığım POSIX standart metinlerine bakın.
GNU grepkullanırsanız grep, GNU'ya grepözgü -Pseç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 .grepgrep-o
Her iki Not -Pve -ostandart olmayan uzantıları POSIX özelliklerigrep .
GNU grepkullanmıyorsanız, sedbunun yerine dize prefixile satır sonu arasında bit elde etmek için kullanabilirsiniz :
sed -n 's/.*prefix\(.*\)/\1/p' file
Bunun yaptığı şey, yalnızca sedverilen 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 prefixbir hat üzerinde, sedvaryasyon sonra dize dönecekti son GNU ederken, biri grepvaryasyon sonra dize dönecekti ilk (diğer örneklerini içerir one prefix).
sedSolüsyon tüm Unix benzeri sistemlere taşınabilir olacaktır.