搜索多个目录和 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
选项。
我正在尝试将我在 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
选项。