hendek Gerekli regexp, birinci veya ikinci satırda bulunursa, aşağıdaki satırı okur ve sonra üç çizgiyi de siler. Önceden/sonra bir satır olmadığında regexp, ya ilk ya da son satırlarda bulunursa, kenar durumları budur. Bu durumlarda sadece iki satır silinebilir. Bu çözüm GNU sed'de olası bir hatayı ortaya çıkarmış olabilir. Bir adresin M
bayrağı, ^
ve $
meta karakterlerinin, çok satırlı dizelerdeki satırın başlangıcı ve bitişi için bir regexp'de sıfır uzunluk işaretleri olarak kullanılmasına izin verir. Boş adres //
, daha önce belirtilen bir adresi yeniden kullanır. Bu adres çok satırlı bir bayrağı içeren bir adres olmalı mı?
sed 'N;/^xxxx/M{//d;$!N;d};P;D' file
xxxx
bir dosyanın ikinci satırında görüntülenir: Halen, yani
sed 'N;/^xxxx/M{/^xxxx/d;$!N;d};P;D' file
için sonuç, farklı bir (doğru) üretir Belirtildiği olmasa bile bayrak görünmektedir.
bir başka açıklama Kalıp boşluğunu, bekletme arabelleği ile "eXchange" olan "x" komutu: http://www.grymoire.com/Unix/Sed.html#uh-53 –
Yukarıdaki betiği çalıştıramıyorum. sed diyor: FUNCTION/^ pattern/{n n x d} x 1d p $ {x p} neden ayrıştırılamıyor? –