我需要检查位于不同位置的多个文件以获取特定信息。
那么,如何创建一个通过多个目录检查参数字的脚本?
目录位于不同的位置。对于前。
/家庭/ CHECK1 /
/选择/记录/
的/ var /状态/
答案 0 :(得分:1)
使用grep -R
(递归)选项并为grep
提供多个目录参数。
答案 1 :(得分:1)
最简单的,归结为
find . -name '*.c' | xargs grep word
在当前目录及以下的所有.c文件中查找给定单词。
grep -R
也可能适合您,但如果您不想搜索所有文件,则可能会出现问题。
答案 2 :(得分:1)
你也可以(在'发现'旁边) 做一个
for DIR in /home/check1 /opt/log /var/status ; do
grep -R searchword $DIR;
done
答案 3 :(得分:0)
尝试使用搜索词和目录查找http://content.hccfl.edu/pollock/Unix/FindCmd.htm。
答案 4 :(得分:0)
grep的手册页应该解释你需要什么。无论如何,如果你需要递归搜索,你可以使用:
grep -R --include=PATTERN "string_to_search" $directory
您也可以使用:
--exclude=PATTERN to skip some file
--exclude-dir=PATTERN to skip some directories
另一个选项是使用find获取文件并将其传递给grep以搜索字符串。