如何使用 grep 检查文件中是否存在介于两者之间的星号 (*) 的字符串



我有一个包含多个查询的SQL文件。我需要查找此文件中是否存在存储在变量中的查询。

我尝试过的:

query="select *from abc;"
if grep -q "$query" sqlFile.sql 
then
   echo "duplicate $query"
fi 

这适用于所有查询,除了那些在查询中带有星号 ( * ( 的查询。

使搜索字符串成为文字字符串,而不是允许是正则表达式字符,请使用 -F 标志,

query="select *from abc;"
if grep -qF "$query" sqlFile.sql ; then 
    echo "duplicate $query"
fi

你可以这样尝试

query="select * from abc"                                                     
if grep -q "$query" sqlFile.sql                                                
then                                                                            
        echo "duplicate $query" 
fi

相关内容

最新更新