次のサンプルファイル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