gpt4 book ai didi

perl - 从目录中的所有文本文件中删除第一行的脚本

转载 作者:行者123 更新时间:2023-12-04 03:45:40 24 4
gpt4 key购买 nike

我正在尝试编写一个 Perl 脚本,该脚本读取目录中的所有文本文件并将除第一行之外的所有行写入一个单独的文件。如果有 3 个文件,我希望脚本读取所有这 3 个文件,并用除第一行以外的相同行写入 3 个新文件。这就是我写的.. 但是当我尝试运行脚本时,它执行得很好,没有错误,但没有完成它应该做的工作。有人可以调查一下吗?

opendir (DIR, "dir\\") or die "$!";
my @files = grep {/*?\.txt/} readdir DIR;
close DIR;
my $count=0;
my $lc;
foreach my $file (@files) {
$count++;
open(FH,"dir\\$file") or die "$!";
$str="dir\\example_".$count.".txt";
open(FH2,">$str");
$lc=0;
while($line = <FH>){
if($lc!=0){
print FH2 $line;
}
$lc++;
}
close(FH);
close(FH2);
}

而第二个文件不存在,应该是由脚本创建的。

最佳答案

尝试改变这些行

opendir (DIR, "dir\\") or die "$!";
...
close DIR;

opendir (DIR, "dir") or die "$!";
...
closedir DIR;

我尝试在本地运行您的代码,我遇到的唯一两个问题是目录名包含尾部斜线和尝试在目录句柄上使用文件句柄 close() 函数。

关于perl - 从目录中的所有文本文件中删除第一行的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com