2010-02-21 02:41:41 +0000 2010-02-21 02:41:41 +0000
79
79

grep出力からユニークな結果をフィルタリングするには?

linuxでは、grep mySearchString myFile.txtを使ってファイルから文字列をgrepすることができます。どのようにしてユニークな結果だけを得ることができますか?

回答 (2)

132
132
132
2010-02-21 02:52:47 +0000

sort ](http://linux.die.net/man/1/sort) と uniq のユーティリティで実現できます。

[john@awesome ~]$ echo -e "test\ntest\ntest\nanother test\ntest" test test test another test test [john@awesome ~]$ echo -e "test\ntest\ntest\nanother test\ntest" | sort | uniq another test test

の例:

0x1&

データによっては、いくつかのスイッチも利用したい場合があります。

3
3
3
2019-08-22 21:13:48 +0000

以下のように使用できます。

grep -rohP "(mySearchString)" . | sort -u

-r: 再帰的

-o: テキストの一致する部分のみを表示

-h: ファイル名を表示しない

-P: Perl スタイルの正規表現 (ケースによっては -E を使用してもよい)

sort -u は、@Chris Johnsen さんが指摘されているように、sort | uniq よりも

0x6& の方がよいでしょう。

関連する質問

6
10
7
5
4