从多个目录中的文件中提取数据

从多个目录中的文件中提取数据

我是 perl 新手,我正在尝试创建一个 perl 脚本(或 bash 脚本),它可以从多个目录中具有 .txt 扩展名的文件中提取单词“Hello World”。为了更清楚地说明,假设我的脚本放置在目录“/home/pi/A”中,该目录具有子目录 - 文件夹、临时文件、文档(我不知道目录,这只是一个示例)。目录 /home/pi/A/Folder 有一个 .txt 文件,/home/pi/Temp 也有一个 .txt 文件,依此类推。这是我的代码

 #!/usr/bin/perl -w

 opendir(DIR, ".");
 @files = grep(/\.txt$/,readdir(DIR));
 closedir(DIR);

 foreach $file (@files) {
    print "$file\n";
}

输出应该是

Hello World  
Hello World
Hello World
So on... 

答案1

它会从目录A中找到.txt文件并检查它是否有单词“hello world”

find A -type f -name "*.txt" -exec grep -h "hello world" {} +

相关内容