ファイル名別にグループ化されたディレクトリでキーワードの発生を確認したいと思います。
例:
キーワード - TEST(TEST1、TEST2などが有効な結果である可能性があることを意味)
ファイル - a.txt、b.txtなど(ディレクトリ../tmpにあります)。
出力は次のとおりです。
a.txt - 4
b.txt - 5
c.txt - 0
私は試しましたがgrep -o "TEST" a.txt
、これはTESTと発生回数のみを提供します。たとえば、ファイルが3回表示される場合(例:TEST1、TEST_XXX、TESTXYES)、出力は次のようになります。
TEST
TEST
TEST
または複数のファイル検索が不可能な場合、OUTPUTはTESTで始まる同様の文字列をすべて提供する必要があります。
TEST
TEST_1
TEST_2
TEST4
私も次のことを試しました。
grep -c "TEST" a.txt
ただし、これはカウントのみを提供し、TESTで始まる全文を提供しません。
ベストアンサー1
grep -c
一致する印刷数量ワイヤー-o
したがって、オプションと組み合わせると正しい結果が得られません。出力をgrep -o
次にパイプしますuniq -c
。
$ echo 'test1 test2 test3' >/tmp/file1
$ echo 'test1 test2 test3 test4' >/tmp/file2
$ grep -o test /tmp/file* | uniq -c
3 /tmp/file1:test
4 /tmp/file2:test
一部のテキスト処理ツールを使用して、さらにパイプして出力を変更できます。