【问题标题】:Loop Through Entire AIX File System to Find a Keyword Occurrence循环遍历整个 AIX 文件系统以查找关键字出现
【发布时间】: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 /

标签: unix scripting aix


【解决方案1】:

从您的代码中,我了解到您想对当前目录下的所有文件执行“grep 关键字”。你不需要它的脚本,可以用:find . -type f -exec grep -n -i "keyword" {} /dev/null \; 来完成。 … – czvtools

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    相关资源
    最近更新 更多