如何删除每一行的第一部分?

时间:2017-04-24 15:41:57

标签: perl parsing delimiter

假设我有一个格式为的文本文件:

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的正则表达式是否更好?

1 个答案:

答案 0 :(得分: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 $_
}