複数ディレクトリのファイルからデータを抽出する

複数ディレクトリのファイルからデータを抽出する

私はPerlを初めて使用し、複数のディレクトリにある.txt拡張子を持つファイルから「Hello World」という単語を抽出できるPerlスクリプト(またはbashスクリプト)を作成しようとしています。より明確にするために、私のスクリプトがフォルダ、一時ファイル、ドキュメントなどのサブディレクトリがある "/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" {} +

おすすめ記事