循环遍历整个 AIX 文件系统以查找关键字出现
Posted
技术标签:
【中文标题】循环遍历整个 AIX 文件系统以查找关键字出现【英文标题】:Loop Through Entire AIX File System to Find a Keyword Occurrence 【发布时间】:2017-05-08 13:03:55 【问题描述】:我如何通过整个文件系统来定位关键字 - 即遍历所有目录。我的嵌套 for 循环没有通过完整的文件系统。请问我的逻辑有什么问题?
for d in `find . ! -name . -prune -type d|xargs -n 1 basename`
do
if [ -d "$d" ]
then
for d in ./*/ ; do (cd "$d" && echo directory "$d" && find . -exec grep -n -i "KeyWord" /dev/null \;); done
else
echo "Processing file $d"
fi
done
【问题讨论】:
欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。这个问题属于unix.stackexchange.com 第一个问题是您在两个循环中使用了相同的变量“d”。第二个循环没有考虑“d”是什么(文件或目录或其他)。 从您的代码中,我了解到您想对当前目录下的所有文件执行“grep 关键字”。你不需要它的脚本,可以用:find . -type f -exec grep -n -i "keyword" /dev/null \;
来完成。如果您还有其他应该使用脚本的原因,请描述它们。
您的解释帮助我理解 find 是我遍历文件系统所需的全部 -
使用 GNI grep
你有一个递归选项 grep -r KeyWord /
。
【参考方案1】:
从您的代码中,我了解到您想对当前目录下的所有文件执行“grep 关键字”。你不需要它的脚本,可以用:find . -type f -exec grep -n -i "keyword" /dev/null \;
来完成。 …
– czvtools
【讨论】:
以上是关于循环遍历整个 AIX 文件系统以查找关键字出现的主要内容,如果未能解决你的问题,请参考以下文章