키워드를 검색하고 해당 항목을 가져옵니다.

키워드를 검색하고 해당 항목을 가져옵니다.

파일명별로 그룹화된 디렉토리에서 키워드의 발생을 확인하고 싶습니다.

예:
키워드 - 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

일부 텍스트 처리 도구를 사용하여 추가로 파이프하여 출력을 수정할 수 있습니다.

관련 정보