如何获取在 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