我可以使用sed /^$/d <file>
刪除文件中的所有空白行,但如果我只想打印所有空行,該怎麼辦?命令sed /^$/p <file>
打印文件中的所有行。
我想這樣做的原因是我們使用EDA程序(遠征),它使用正則表達式在網絡名稱上運行規則。我試圖找到一種方法來搜索所有沒有分配名稱的網絡。我認爲使用^$
會起作用,但它只是最終找到所有的網絡,這也是/^$/p
所做的。那麼有沒有不同的方式來做到這一點?
我可以使用sed /^$/d <file>
刪除文件中的所有空白行,但如果我只想打印所有空行,該怎麼辦?命令sed /^$/p <file>
打印文件中的所有行。
我想這樣做的原因是我們使用EDA程序(遠征),它使用正則表達式在網絡名稱上運行規則。我試圖找到一種方法來搜索所有沒有分配名稱的網絡。我認爲使用^$
會起作用,但它只是最終找到所有的網絡,這也是/^$/p
所做的。那麼有沒有不同的方式來做到這一點?
除非另有規定sed將打印模式空間時,它已經處理完它。如果仔細觀察輸出,您會注意到文件中的每一行都會有2個空行。您必須使用-n命令行開關來停止打印。
sed -n /^$/p infile
應該如你所願。
您還可以使用grep
爲:
grep '^$' infile
默認情況下,sed打印每一行,所以p標誌是無用的。爲了使它有用,你需要給sed -n開關。事實上,以下似乎做你想要的!
sed -n /^$/p
想以另一種方式,不要p,但ð
,你可以嘗試:
sed '/^$/!d' yourFile
+ 1指向該聯機幫助頁 – voretaq7