Сценарии оболочки: проверка на регистр без учета регистра - PullRequest
0 голосов
/ 04 мая 2018

У меня есть требование проверить, существует ли предложение для всех операторов DROP TABLE.

Если предложение 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 голосов
/ 04 мая 2018

Вы можете использовать grep -i опция:

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

С grep Страница справочника * :

-i, --ignore-case

Игнорировать различия регистра как в PATTERN, так и во входных файлах. (-i определяется POSIX.)

...