我有一个文本文件,如下所示
/some path1/filename1
/some path2/filename2
/some path3/filename3
.
.
.
我必须浏览此文本文件,打开每个文件,然后搜索模式字符串,然后打印找到匹配字符串的文件名
答案 0 :(得分:0)
#!/bin/bash
while read line
do
current_file=$line
grep -l "your pattern" $current_file
done < "path/to/firstfile"
在循环中使用grep -l
应该可以正常工作
答案 1 :(得分:-1)
不错;首先从文件中读取行到变量。
grep
表示存储在该变量中的文件名中的模式。
直接将模式传递给grep或将模式存储在下面使用的变量中:
while read f; do
grep -l $pattern $f
done < listOfFiles.txt