我一直在寻找答案,但由于我对perl很新,我可以使用一些解释我的问题的帮助,因为我无法从其他线程中获取答案并调整他们的代码。
我最接近找到最接近的解决方案是: How can I write only certain lines of a file in Perl?
这是同样的问题,但我只想写以“/”开头的行,这是可能的,如果可能的话,我该怎么做?
非常感谢任何帮助,提前谢谢!
答案 0 :(得分:2)
一个简单的实现可能如下所示:
while (<>) {
print $_ if /^\//;
}
这会在行开头(/
)后立即查找^
。
如果您想在行的开头允许一些空格,请将正则表达式更改为/^[[:space:]]*\//
。
基本上,脚本的其余部分与您链接的问题相同。
答案 1 :(得分:2)
Perl也可以在命令行中用于此目的:
$ perl -lne 'print if /^\//' input.txt > output.txt
答案 2 :(得分:1)
你可以这样做:
use strict;
use warnings;
open my $fhi, '<', $input or die "Can not open file $input: $!";
while (<$fhi>) {
print $_ if m/^\//;
}