我有这样的示例文件 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
这个问题在堆栈溢出上得到了回答([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