如何grep目录关键字存在?

时间:2010-10-25 09:46:33

标签: regex shell

例如,我有一个/ path / to /文件夹,想要查看它是否包含“keyword1”,“keyword2”或“keyword3”,结果将是(当找到2时):

/path/to/folder: keyword1 keyword3

我尝试使用 here 显示的选项,但它不适用于文件夹。

3 个答案:

答案 0 :(得分:1)

如果您在谈论文件名中的关键字

shopt -s nullglob
for file in *keyword1* *keyword2* *keyword3*
do
  echo "$file"
done

如果您正在谈论在文件夹中的文件中查找这些关键字,您可以使用grep等工具

grep -l -E "keyword1|keyword2|keyword3" *

如果您需要显示找到的关键字

grep  -Eo "keyword1|keyword3|keyword2" *

答案 1 :(得分:1)

echo -n '/path/to/folder:'; for kw in {keyword1,keyword2,keyword3}; do grep -qr $kw /path/to/folder/; if [ $? == 0 ]; then echo -n " "$kw; fi; done

答案 2 :(得分:0)

grep -E "keyword1|keyword3|keyword2" *

会返回这样的内容:

  

file.one:此文字包含 keyword1
  file.two: keyword2 可在此文件中找到   file.six:这是一个关键字枚举: keyword1 keyword2 keyword3