我只是要學習一些shell腳本,我真的很努力地獲得我想要的結果frgep。有沒有辦法將fgrep的結果通過管道傳送到文件中,以便將每個模式保存到僅包含屬於這些模式的行的文件中。fgrep:將結果排序到文件
我輸入的文件看起來像:
@ABC;123;bc=Pattern_1;
@DEF;456;bc=Pattern_1;
@ZYR;678;bc=Pattern_2;
@OPZ;888;bc=Pattern_2;
我的文件,我使用模式搜索的樣子:
Pattern.txt:
Pattern_1
Pattern_2
Pattern_3
現在我做一個fgrep一樣(我還需要以下3行,每行的條目):
fgrep -A 3 -f Pattern.txt huge_file
完美地工作。但我想將結果分類到文件中。每個包含Pattern_1的行應該包含在結果文件中,例如Pattern_1.txt。其他模式以相同的方式(pattern_2行應該以pattern_2.txt結尾等等)。
Pattern_1.txt:
ABC Pattern_1 123
DEF Pattern_1 456
...
Pattern_2.txt:
ZYR Pattern_2 678
OPZ Pattern_2 888
...
原則上我可以對每個模式進行for循環,每次做一個fgrep並將結果保存到文件中。但是,根據模式,是否有更優雅的方式來管理fgrep的結果?這是相關的,因爲包含該模式的文件非常龐大,需要一段時間才能運行fgrep。 這可能嗎?我在管道後用if子句玩了一段時間,但我無法得到正確的語法來做我想做的事情。這可能嗎?
謝謝。 Carsten
你能提供你在搜索文件的例子嗎? –
非常感謝!我更新了這個問題。輸入格式不是製表符,而是用製表符分隔,每行的開頭有一個@。 – user2251977