我想要一个包含单词“hot”的文件的文件名列表(不关心大小写)。这些文件也应位于目录/ test / home下,文件名以“config”开头。
grep -ilrw“hot”* | grep -i config
这种方法的另一个缺点是无法检查以“config”开头的文件名。例如,“grep -i ^ config”将不匹配“/test/home/configurations/config.xml”等文件
有没有办法解决这个问题?
grep -ilrw“hot”config *
答案 0 :(得分:4)
find . -name 'config*' | xargs grep -i "hot"
可能取决于你的UNIX风格,我认为
答案 1 :(得分:4)
如果您只想使用grep,那就不远了。我愿意;
grep -Rli --include='config*' "hot" *
- include,允许您指定要搜索的GLOB,最后的*允许您调整包含glob的文件/目录。
答案 2 :(得分:0)
如果您是GNU powertools的幸运用户,请找到适合您的人:
find /test/home -iregex ".*hot.*" -regex "config.*"