如何判断“find”命令的输出是否为空?

时间:2011-06-29 21:02:32

标签: bash pipe

如果输出为空,我想返回退出状态0,否则返回1:

find /this/is/a/path/ -name core.*

5 个答案:

答案 0 :(得分:15)

当您说要让它返回特定号码时,您指的是退出状态吗?如果是这样的话:

[[ -z `find /this/is/a/path/ -name core.*` ]]

由于您只关心是/否回复,您可能希望将您的发现更改为:

[[ -z `find /this/is/a/path/ -name core.* -print -quit` ]]

将在找到第一个核心文件后停止。如果没有它,如果根目录很大,则查找可能需要一段时间。

答案 1 :(得分:5)

这是我的版本。 :)

[ -z "$(find /this/is/a/path/ -name 'core.*')" ] && true

为简洁而编辑:

[ -z "$(find /this/is/a/path/ -name 'core.*')" ]

答案 2 :(得分:3)

可能有很多变体,但这是一个:

test $(find /this/is/a/path/ -name core.* | wc -c) -eq 0

答案 3 :(得分:1)

也许这个

find /this/is/a/path/ -name 'core.*' | read

答案 4 :(得分:1)

我正在使用这个:

if test $(find $path -name value | wc -c) -eq 0
    then
     echo "has no value"
     exit
else
   echo "perfect !!!"
fi