如何使用bash脚本查找目录中的任何文件是否包含特定字符串?

Seh*_*ngh 1 linux bash shell scripting

我需要检查该字符串是否M1039C28位于目录的任何文件内/var/opt。如果找到该字符串,
则应回显;如果未找到该字符串,则应回显。trueString not found

样本:

cd /var/opt/;
if [ find ./ -type f -exec grep -Hni "M1039C28" {} ';']
then
    echo "String found"
else
    INFO "String not found"
fi
Run Code Online (Sandbox Code Playgroud)

use*_*260 6

考虑使用grepwith 选项-q(禁止任何输出)和-r(在目录中递归搜索):

grep -qr "search-query" /path/to/dir && echo "FOUND" || echo "NOT FOUND"
Run Code Online (Sandbox Code Playgroud)

grep1如果在任何文件中找不到该字符串,将退出并显示代码。有关更多信息,请参阅手册页