2013-04-17 112 views
0

我有一個文件有很多行。其中一些以「Only in」開頭。所以我想只保留以「Only in」開頭的行,並刪除其餘的行。有人可以告訴我可以使用哪種正則表達式命令。Perl腳本+刪除除了以「Only in」開頭的所有行

類似於「%s /!(只在)/ rm -rf那行」對不起,在這裏混用了verilog,unix和perl。有人可以幫助我一樣

回答

5
perl -ne 'print if /^Only in /' file 

另請參見grep

+0

參見'grep(1)'。 – mob

+0

@mob:嗯,這不是我已經說過的嗎? – tripleee

+0

在這種情況下,另請參見'perldoc -f grep' :-) – mob

3
perl -i -ne '/^Only in/ and print' file 

而且在腳本:

use strict; use warnings; 

$INPLACE_EDIT = 1; 

while (<>) { 
    /^Only in/ and print; 
} 

無論是2個解決方案取代內嵌無需自行創建臨時文件。

+0

我看到這個錯誤,或者你在保留並刪除錯誤的行嗎?我認爲'或'應該是'和'。 – gpojd

+0

看起來好多了。感謝您的編輯。 – gpojd

+0

而不是打印如何覆蓋該文件? – Rancho

相關問題