gpt4 book ai didi

bash - 如何在最小的 shell 中递归搜索目录(没有 grep、find 等)?

转载 作者:行者123 更新时间:2023-11-29 09:12:23 24 4
gpt4 key购买 nike

我正在使用运行 QNX 的嵌入式系统,该系统具有精简的 shell (KSH)。

我想在文件系统上找到与以下匹配的所有运行的所有可执行文件:

*/shle/*-*_test

“shle”目录在根目录下最多可显示 4 层。我目前的方法是运行以下命令:

for shle in ./shle ./*/shle ./*/*/shle ./*/*/*/shle
do
for exe in $shle/*-*_test
do
echo running: $exe
$exe
done
done

是否有更清洁或更快速的方法来执行此操作?除了 grepfind 之外,还有其他我应该尝试的命令吗?

最佳答案

您可以尝试使用 globstar 选项并指定 **/shle 来查找一层或多层深度的目录。

来自 ksh 联机帮助页:

          ∗      Matches any string, including the null string.  When used
for filename expansion, if the globstar option is on, two
adjacent ∗'s by itself will match all files and zero or
more directories and subdirectories. If followed by a /
then only directories and subdirectories will match.

关于bash - 如何在最小的 shell 中递归搜索目录(没有 grep、find 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com