0
我有一個腳本:如何通過bash在多個文件中搜索單詞?
#!/bin/bash
text="hulk hogan,dolph ziggler"
IFS=","
word=($text)
line=`ls workdir/*.txt`
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
。但如果在這種情況下,如果這些單詞存在於所有文件中。在這種情況下,在first.txt
中存在hulk hogan,但在second.txt
中不存在,它將返回錯誤。我有錯誤,請幫忙。我想在所有文件中搜索這些單詞。在這種情況下,如果所有文件中都不存在來自數組的某個單詞,我想得到錯誤。只有在這種情況下。但是如果單詞存在於一個文件中,而其他單詞存在於其他文件中,我想獲得肯定的結果。感謝您的關注。
問題是'出口1'當你找不到這個單詞時,它會立即退出。所以,只需刪除'exit 1'這一行。 – zhenguoli
難道你不就是'grep'廢船hogan \ | dolph ziggler'workdir/*。txt''嗎? – JNevill
夥計們,我需要'退出1',因爲我不想啓動腳本的其他部分,如果我在某些文件中不存在某個單詞。根據'grep'hulk hogan \ | dolph ziggler'workdir/*。txt''不,因爲我需要在腳本中執行它,我將使用if-else語句之類的異常。 – Piduna