搜索多个目录和 return 个结果

Search Multiple directories and return one result

我正在尝试将我在 AIX 机器上 运行 的一段代码带到 Linux,但我无法让它工作。

[ -f $FolderPath/*/FileName.txt ] && echo 1 || echo 0

上面搜索FolderPath,然后*是它的所有子目录寻找FileName.txt。如果找到(不止一次),则returns 1,否则returns 0.

在 Linux 中,我收到“太多参数”错误,所以我认为更改为 [[ ]] 会解决此问题,但它似乎无法处理其中的通配符 *。

有人有什么想法吗?

谢谢

您可以试试下面的命令,然后查询状态码$?:

find $FolderPath -name 'FileName.txt' | grep -E '*'

这个 returns 当 find 命令没有列出文件时为 1,当有时为 0。

可选,如果您只想达到特定级别以避免深入搜索目录树,那么您可以使用 -maxdepth n 选项。