2012-11-26 69 views
2

Bash腳本編寫並不是我最重要的一點。我有一個文件結構爲Bash腳本:跳過文件和grep

% comment 
filename1 pattern-to-search1 
filename1 pattern-to-search2 
... 

我想編寫一個腳本到grep filenamepattern-to-mat的所有文件中的每一行。

到目前爲止,我有

while read file p 
do 
    if [ "${file:0:1}" != "%" ] 
    then 
    grep -o "$p" $file | wc -l 
    fi 
done 
echo -e "\nDone." 

但它不會跳過開頭的文件%。有任何想法嗎?

+0

我看不出在腳本中任何可能導致你的問題描述。你確定問題是你認爲的嗎? – ruakh

+0

告訴你實話,不。但我確實喜歡@ sehe的回答......看起來很漂亮。 –

回答

1

我簡單地做

grep -v '^%' | while read file p 
do 
    grep -c "$p" -- "$file" 
done 

這樣一來,註釋行甚至不會達到read

+0

當你在它的時候,你可能會改變'-o'到'-c'並放下'| wc -l'。 (另外,'--'不會出錯。) – ruakh

+0

我甚至沒有讀到那麼遠。這個問題不是必需的:) – sehe

+0

嗯,在我的答案中,你的答案中沒有*是必要的。您的腳本似乎無法解決OP腳本的任何問題。 – ruakh