如何在 find 中获取 grep 状态代码

如何在 find 中获取 grep 状态代码

如何获取在 find 中启动的 grep 命令的退出代码:

例如:

find ./export-`date +%Y%m%d`-*/instance.log -type f -exec grep -i -m1 error {} \;

无论文件中是否找到“错误”一词,它都会返回退出代码0

instance.log内容如下:

2016-09-30 09:01:20 : 错误2 (16)

答案1

与 -exec 选项一起使用的命令 find 将返回 grep 命令的状态代码。例子:

find . -type f  -exec grep 201 {} +

当我在包含一些包含模式“201”的日志文件的文件夹中执行它时,将返回 0。您可以使用 echo $? 检查它在你的控制台中(如果找到模式则给出 0)。

如果我在另一个文件夹中执行相同的命令,其中包含不包含“201”的文件,则 find 命令的状态代码将为 1

相关内容