탐색 모드 [끄기]

탐색 모드 [끄기]

파일 집합에 서로 다른 문자열 *.dbm이 몇 번이나 존재하는지 알아내야 합니다. 즉. 동일한 파일 이름 test1.dbm test2.dbm에 이 두 개의 다른 문자열이 있으므로 test1.dbm은 file1_10172017.txt에 있고 문자열 test2.dbm은 다른 file1_10162017.txt에 있습니다.

동일한 이름을 가진 파일 세트에 (*.dbm)이 얼마나 많이 존재하는지 알아내야 합니다(타임스탬프가 다름).

답변1

fx273014_w_new_qul_[timestamp].txt모든 디렉토리가 있는 전체 디렉토리에서 이 작업을 반복적으로 수행할 수 있습니다.

grep -ohr "\w*\.dbm" /path/to/dir | sort -u

~에서man grep

-h, --no-filename
    Suppress the prefixing of file names on output. This is the default
    when there is only  one  file  (or only standard input) to search.
-o, --only-matching
    Print  only  the matched (non-empty) parts of a matching line,
    with each such part on a separate output line.
-R, -r, --recursive
         Recursively search subdirectories listed.

각각의 고유한 발생 횟수를 계산하려면 다음 wc -l을 추가하세요 .

grep -ohr "\w*\.dbm" /path/to/dir | sort -u | wc -l

또는 재귀적으로 수행하지 않고 원하는 파일에 대해 이 작업을 수행합니다.

grep -oh "\w*\.dbm" /path/to/fx273014_w_new_qul_* | sort -u | wc -l

답변2

두 번째로 올바르게 이해했다면 고유한 이벤트가 모두 표시됩니다.

grep .dbm file1* | sort -u 

얼마나 다른지 알고 싶다면 파이프를 다시 사용하십시오.

grep .dbm file1* | sort -u | wc -l

관련 정보