搜索多个目录并返回一个结果

时间:2015-05-29 12:59:27

标签: linux search aix

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

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

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

在Linux中,我收到Too Many Arguments错误,因此我认为更改为[[]]会解决此问题,但它似乎不会处理通配符*。

任何想法?

由于

1 个答案:

答案 0 :(得分:2)

您可以尝试以下命令,然后查询状态代码$?

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

find命令没有列出文件时返回1,当有{0>}时为0时返回0。

或者,如果您只对命中特定级别感兴趣以避免在目录树中进行深度搜索,那么您可以使用-maxdepth n选项。