テキストファイルのリストからファイルを読む

テキストファイルのリストからファイルを読む

次のサンプルファイルs1.txtがあります。

  Sample.log.54
  Sample.log.56
  Sample.log.57
  Sample.log.58
  Sample.log.59
  Sample.log.110
  Sample.log.113
  Sample.log.114
  Sample.log.115
  Sample.log.116
  Sample.log.117
  Sample.log.118
  Sample.log.119
  Sample.log.120
  Sample.log.121
  Sample.log.122
  Sample.log.112
  Sample.log.123
  Sample.log.124
  Sample.log.140

このフォルダには他の多くのファイルもあります。ただし、s1.txtにリストされているファイルから特定の文字列をgrepする必要があります。フォルダ内のすべてのファイルを読んではいけません。

答え1

grepが必要な場合金持ちファイルでbashを使用すると、次のことができます。

grep foo $(cat s1.txt)

答え2

各行がs1.txtファイル名を表し、ファイル名に奇妙な文字が含まれていない場合:

<s1.txt xargs -d '\n' grep string

答え3

この質問はStack Overflow([https://stackoverflow.com/questions/14655717/grepping-from-a-text-file-list][1])。

xargs grep "your pattern" < my-file-list.txt

答え4

これは働きます:

for i in `cat s1.txt`; do cat $i | grep "your-string-to-search"; done

関連情報