2011-05-03 180 views
0

我正在使用以下命令在給定的製表符分隔文件中查找字符串並計算出現字符串的次數。Shell腳本:grep和製表符分隔

grep -c "string1" filename; grep -c "string2" filename; grep -c "string3" filename 

在上面的命令,字符串1,2,3是我找他們出現的那些文件filename(實際上是計數?他們發生了多少時間)。

我想輸出發送到一個製表符分隔格式的文件(這顯然意味着新的文件名)。

我是shell腳本編程的新手,希望對您有所幫助。

預先感謝您。

回答

1

這裏有一種方法,只用例如2串:

echo -e "`grep -c 'string1' filename`\t`grep -c 'string2' filename`" > output 

您可以添加日期和附加到這樣現有的輸出:

echo -e "`date +'%Y-%m-%d'`\t`grep -c 'string1' filename`" >> output 
+0

謝謝你,它的工作原理。最後一個問題。我怎麼也可以添加一個頭到這個輸出文件。例如。它還應該承擔此操作之前的當前日期(echo -e「'grep -c'string1'filename' \ t'grep -c'string2'filename'」> output),並且如果再次重複該操作,則新文件應該不會形成,但下一個輸出將添加到前一個輸出的下方。 – Angelo 2011-05-03 09:07:27

+0

我用包含日期列的示例更新了答案,並將其附加到現有文件(減少爲一個字符串以更好地適用)。 – WhiteFang34 2011-05-03 09:15:01

+0

日期和字符串搜索輸出必須位於兩條不同的行中。我試過'\ n'而不是'\ t' ...它給出了一個錯誤 – Angelo 2011-05-03 09:17:39