我有這個腳本 - 它不工作。我希望腳本返回關鍵字'keyword'出現兩次的所有文件的列表。如果grep文件wordcount等於數字然後
#!/bin/bash
for file in * ; do
if [ $(grep 'keyword' $file | wc -l) -eq 2 ]
then
echo $file
fi
done
我有這個腳本 - 它不工作。我希望腳本返回關鍵字'keyword'出現兩次的所有文件的列表。如果grep文件wordcount等於數字然後
#!/bin/bash
for file in * ; do
if [ $(grep 'keyword' $file | wc -l) -eq 2 ]
then
echo $file
fi
done
你可能想使用grep的 '-o' 選項,將輸出在其自己的行每場比賽而不是打印整行。當你在同一行上出現2+時,它也可以工作。
grep -o 'keyword' $file | wc -l
它試過了,它似乎工作正常。請告訴我們它不工作的方式,如果可能的話展示一個最簡單的例子。此外,使用'「$ file」'而不是'$ file'來防止腳本受到帶空格的文件名的影響。 – 2012-03-14 16:21:21
我想這也會漏掉'keyword'在同一行出現兩次的情況。 – DSM 2012-03-14 16:23:41
@Eduardo我會給你答案,但它是一個評論。無論如何,你是對的..我只是沒有等待足夠長的時間才能開始輸出。 – nottinhill 2012-03-14 16:45:58