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

相關內容