파일명별로 그룹화된 디렉토리에서 키워드의 발생을 확인하고 싶습니다.
예:
키워드 - 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
일부 텍스트 처리 도구를 사용하여 추가로 파이프하여 출력을 수정할 수 있습니다.