ドキュメントの特定のキーワードを読むスクリプト

ドキュメントの特定のキーワードを読むスクリプト

50のフォルダのリストがあります。各フォルダにはキーワードを含むテキストファイルがあり、ファイルの名前はすべてのフォルダで同じですが、値は異なります。スクリプトはどのようにこれらのテキストファイルの特定のキーワードを読み、これらの結果を新しいファイルに保存(収集)できますか?

    folder A 
       text.file (inside it key words let us say Abc=1 Def=2 Ghi=3 )
    folder b
       text.file(inside it key words let us say Abc=5 Def=1 Ghi=4 )
    folder c
       text.file(inside it key words let us say Abc=11 Def=12 Ghi=32 )
    folder d
       text.file(inside it key words let us say Abc=11 Def=27 Ghi=34 )
    folder e
       text.file(inside it key words let us say Abc=16 Def=12 Ghi=22 )
    folder f
       text.file(inside it key words let us say Abc=3 Def=2 Ghi=1)
    .
    .
    .
    .
    folder N

テキストファイルのキーワードは次のようにソートされます。 (50フォルダに含まれるすべてのファイルのキーワードは同じ方法でソートされます。)

    Abc= value
    Def= value
    Ghi= value

例:テキストファイルには「Abc」のみが含まれているため、すべてのファイルからキーワード「Abc」を読み取り、出力を保存するスクリプトが必要です(つまり、新しいファイルからキーワード「Abc」の値を個別に収集します)。すべてのフォルダの値は次のとおりです。

Abc=1
Abc=5
Abc=11
Abc=11
Abc=16
Abc=3

答え1

すべてのキーワードがtext.fileに次のように並べ替えられている場合(そしてキーワードの順序は50フォルダに含まれるすべてのファイルで同じです)

Abc= value
Def= value
Ghi= value

head -n 1 filenameその後、最初の行をforループに読み込み、次のように新しいファイルに書き込むことができます。

$ for file in ~/Parent_dir/Folder*/*; do  head -n 1 $file; done
 Abc=1
 Abc=5
 Abc=11
 Abc=11
 Abc=16
 Abc=3

スクリプトは次のとおりです。

for file in ~/Parent_dir/Folder*/*; do
    head -n 1 $file;
done > newfile

関連情報