2017-04-24 28 views
0

說我有一個文本文件,它的格式爲:如何刪除每一行的第一部分?

S1:I am line one. 
S2:I am line two. 
S3:I am line three. 
S4:I am line four. 

如何刪除每一行的ID部分(讓我只剩下I am line one.等)?更改輸入記錄分隔符$/還是使用刪除ID的正則表達式更好?

回答

3

這個可能嗎?它使用匹配的一切直至幷包括第一個冒號:並將其刪除

perl -pe 's/^[^:]*://' myfile > newfile 

在程序正則表達式:

open my $fh, '<', $filename or die qq{Unable to open "$filename" for input: $!}; 

while (<$fh>) { 

    s/^[^:]*://; 

    # Use remainder of line left in $_ 
} 
+0

我這樣做是在腳本中,而不是在命令行。這個正則表達式在「分裂」函數內工作,就像巴勃羅所說的那樣? –

+0

@KyleWeise:查看我的回答更新 – Borodin

+0

真棒這個作品。感謝鮑羅廷! –