Shell脚本:检查不区分大小写的字符串

时间:2018-05-04 12:01:11

标签: shell unix ksh

我需要检查所有DROP TABLE语句是否存在exists子句。

如果IF EXISTS子句不存在,脚本应该打印它。以下是我的代码。它工作正常,但我必须检查所有情况。下面的场景仅适用于大写。

for f in $FILES
do
result=`grep "DROP \+TABLE" "$f" | grep -v "IF \+EXISTS"` # -v inverts the match
if [ ! -z $result ]
then
echo 'IF EXISTS clause not found ' $f ':' $result 
fi
done

1 个答案:

答案 0 :(得分:1)

您可以使用grep的{​​{1}}选项:

-i

来自grep's man page

  

grep -i "DROP \+TABLE" "$f" | grep -iv "IF \+EXISTS" -i

     

忽略PATTERN和输入文件中的大小写区别。 (--ignore-case由POSIX指定。)