如何继续循环第一个GREP结果

时间:2015-09-09 14:02:18

标签: shell loops while-loop grep do-while

我有以下.sh文件,它搜索大量文件中的大量搜索项目。但是如果$ file中存在其中一个搜索项,我想在第一个结果处继续while循环。目前,所有文件都匹配查询。第一次打击就足够了。

我该怎么做?

while read file
do
    echo $file
    grep -o -f searchItems.txt "$file" >> results.txt
done < filelist.txt

感谢。

1 个答案:

答案 0 :(得分:1)

成功break返回后,您可以使用grep

while read -r key; do
   while read -r actualFile; do
     echo "searching for $key in $actualFile"
     grep -o "$key" "$actualFile" >> messageKeysInUse.txt && break
   done < filelist.txt
done < allMessageKeysFromDB.txt

一旦grep成功,它就会突破内部while循环。