두 개의 gzip 압축 파일에서 공통 줄 찾기

두 개의 gzip 압축 파일에서 공통 줄 찾기

두 개의 큰 gzip 파일이 있습니다. 공통 행을 찾아야 합니다. Zgrep(gzip)은 이 작업을 광범위하게 수행할 수 있지만 zgrep -f <unzipped file> <zipped file>이를 수행하는 스위치는 찾을 수 없습니다 zgrep -f <zipped file> <zipped file>. 내가 뭐 놓친 거 없니?

답변1

gunzip(1)그러면 sort(1)파일을 처리하고 결과를 사용하는 것이 comm(1)더 효율적입니다 .

답변2

GNU는 grep(1)원하는 것을 수행할 수 없지만 시스템과 셸이 이를 지원하는 경우 프로세스 대체를 사용하여 비슷한 결과를 얻을 수 있습니다.

$ grep -f <(gunzip < zipped_patterns.txt.gz) zipped_data.txt.gz

gunzip < file.gz프로세스 대체에서 입력 리디렉션( )을 사용 하면 gunzip(1)압축이 풀린 데이터를 디스크에 쓰지 않고 메모리에서 파일의 압축이 풀립니다. 스키마 파일이 사용 가능한 RAM에 비해 충분히 크면 시스템 충돌이 발생할 가능성이 높습니다. ~처럼폰 브랜드파일을 정렬하여 사용하는 것이 comm(1)더 효율적 이라는 점을 지적합니다.

관련 정보