파일 집합에 서로 다른 문자열 *.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