Есть такой скрипт:
#!/bin/bash
text="hulk hogan,dolph ziggler"
IFS=","
word=( $text )
line=`ls workdir/*.txt`
unset IFS
for a in "${word[@]}"; do
for m in $line; do
if grep -q "$a" "$m"; then
echo "$a word is exists"
grep "$a" "$m"
else
echo "$a word does not exists"
exit 1
fi
done
done
Я ищу
hulk hogan,dolph ziggler
в нескольких файлах. Если они есть, скрипт пропустит, сказав, что строка такая-то есть в файле таком-то. Но оно ищет целиком два эти слова в каждом файле. Т.е., если в одном файле оно не найдет, по крайней мере одно из слов, оно выйдет из тела скрипта. Я же хочу, что бы оно выдавало исключение, если одного из слов нету во всех файлах. А если например
hulk hogan
есть в файле first.txt, а
dolph ziggler
, есть в second.txt, то скрипт должен отрабатывать, а не выходить из своего тела.
Сейчас, он ищет в каждом файле два слова, и если в одном из файлов не будет хотя бы одного из этих слов, он выйдет из тела скрипта, а это немного не подходит. Подскажите пожалуйста. Уже не знаю что и делать.