我确实在目录中有一大堆文件,并且我想从每个文件中删除第一行(包括回车).我可以将整个文件读入一个字符串数组,并将除了第一个元素之外的所有元素写入一个新文件,但这对我来说看起来有点麻烦有更好的方法吗?哦,首选的语言是Perl.
Kav*_*rek 24
试试这个衬垫
perl -pi -e '$_ = "" if ( $. == 1 );' filename
Run Code Online (Sandbox Code Playgroud)
我以前用过它,应该就是你所需要的.
小智 11
怎么样
tail +2
Run Code Online (Sandbox Code Playgroud)
在壳?
(编辑:你可能需要更新的Linux tail -n +2
(谢谢你,GNU!:())
perl -n -i -e 'print unless $. == 1' myfile
Run Code Online (Sandbox Code Playgroud)
这与stocherilac的答案类似.
但是,无论如何(在所有其他答案中给出了答案!),你总是在阅读完整的文件.无法避免这种情况,AFAIK.
use Tie::File qw();
for my $filename (glob 'some_where/some_files*') {
tie my @file, 'Tie::File', $filename or die "Could not open $filename: $!";
shift @file;
}
Run Code Online (Sandbox Code Playgroud)