-3
我有一個循環讀取文件的每一行。在循環中,我想要一個正則表達式來測試特定字符的行,如果行中包含那個字符,我想刪除整行。我對perl正則表達式很陌生,我似乎無法弄清楚如何把它們放在一起。如何刪除字符串,如果它包含特定字符在Perl中使用正則表達式?
我有一個循環讀取文件的每一行。在循環中,我想要一個正則表達式來測試特定字符的行,如果行中包含那個字符,我想刪除整行。我對perl正則表達式很陌生,我似乎無法弄清楚如何把它們放在一起。如何刪除字符串,如果它包含特定字符在Perl中使用正則表達式?
$ echo -e 'aa\nbb\nab\ncc' |
perl -e 'while (<>) { push @lines, $_ unless m/a/ } END { print @lines }'
bb
cc
推動是在一個循環內,其中$_
設置爲每個後續行。它附加數組@lines
,除非給定的正則表達式與$_
匹配。
並非您想要刪除該行,而是想要在沒有該行的情況下重新編寫該文件。 – sln
@sln O ok,我正在計劃將新行保存到數組中。 – Tyler
然後你可以使用grep。 – sln