我需要檢查字串M1039C28是否在目錄的任何檔案中/var/opt。
如果找到字串,它應該回true顯,如果找不到字串,它應該回顯String not found。
樣本:
cd /var/opt/;
if [ find ./ -type f -exec grep -Hni "M1039C28" {} ';']
then
echo "String found"
else
INFO "String not found"
fi
uj5u.com熱心網友回復:
考慮使用grepwith 選項-q(抑制任何輸出)和-r(在目錄中遞回搜索):
grep -qr "search-query" /path/to/dir && echo "FOUND" || echo "NOT FOUND"
grep1如果在任何檔案中都找不到該字串,將退出代碼。有關更多資訊,請參閱手冊頁
uj5u.com熱心網友回復:
為什么不將腳本基于此命令:
grep -l "M1039C28" * | wc -l
如果結果為 0,則找不到該條目。
如果結果為 1 或更多,則找到該條目。
uj5u.com熱心網友回復:
如果您有一個大目錄并且想要遞回搜索,請嘗試使用銀搜索器(如果尚未安裝),您可以在 Debiansudo apt install silversearcher-ag或brew install the_silver_searcherMacOS 上使用。像這樣使用它。
ag "M1039C28" path/to/search && echo "FOUND" || echo "NOT FOUND"
注意路徑引數是可選的,默認情況下它遞回搜索當前路徑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/466167.html
