我正在编写一个perl脚本来解析基于正则表达式的文件。问题是文件总是以新行开头。当我在vi中打开隐藏的字符时,它显示为“$”(这是对cygwin的vi)。有没有办法可以使用正则表达式删除它们?我试过了
S / \ n //克
但这似乎不起作用。
答案 0 :(得分:3)
如果您的问题确实仅由输入文件顶部存在一个额外的行引起,并且假设您使用的是while (<FILE>) { ... }
这样的典型循环,那么您可以跳过输入的第一行通过在循环中的最开头插入此行来文件:
next unless $. > 1;
答案 1 :(得分:1)
或者只是:
#!/usr/bin/perl
use warnings;
use strict;
use File::Slurp;
my @file = read_file('input.txt');
shift(@file);
foreach(@file){
...
}
答案 2 :(得分:1)
最简单的方法是使用sed
sed 1d