2016-02-17 50 views
-3

我有一個循環讀取文件的每一行。在循環中,我想要一個正則表達式來測試特定字符的行,如果行中包含那個字符,我想刪除整行。我對perl正則表達式很陌生,我似乎無法弄清楚如何把它們放在一起。如何刪除字符串,如果它包含特定字符在Perl中使用正則表達式?

+0

並非您想要刪除該行,而是想要在沒有該行的情況下重新編寫該文件。 – sln

+0

@sln O ok,我正在計劃將新行保存到數組中。 – Tyler

+0

然後你可以使用grep。 – sln

回答

-1
$ echo -e 'aa\nbb\nab\ncc' | 
    perl -e 'while (<>) { push @lines, $_ unless m/a/ } END { print @lines }'   
bb 
cc 

推動是在一個循環內,其中$_設置爲每個後續行。它附加數組@lines,除非給定的正則表達式與$_匹配。

相關問題