.zip
명령 에서 curl
파이프로 전달된 ~8GB 파일의 압축을 풀려고 합니다 . 내가 시도한 모든 것이 1GB 미만에서 중단되고 다음 메시지를 반환합니다.
...여러 항목이 있습니다. 나머지 항목은 무시됩니다.
funzip
나는 다른 매개변수를 사용하여 , , gunzip
, gzip -d
, ...도 시도했습니다 zcat
. 모두 위의 메시지로 끝났습니다.
데이터 파일은 공개되어 있으므로 문제를 쉽게 재현할 수 있습니다.
curl -L https://archive.org/download/nycTaxiTripData2013/faredata2013.zip | funzip > datafile
답변1
사용하는 명령은 ZIP 아카이브의 첫 번째 항목에서만 데이터를 추출할 수 있습니다.funzip
맨페이지:
재미있는 압축파일 매개변수는 필터 역할을 하지 않습니다. 즉, ZIP 아카이브(또는보관소'd(1) 파일)은 표준 입력으로 파이핑하고 아카이브의 첫 번째 구성원을 표준 출력으로 추출합니다.
faredata2013.zip
unzip
여러 항목이 포함되어 있으므로 이를 추출하려면 을 사용해야 합니다 . 에 압축을 풀고 싶다면 이 옵션을 stdout
사용할 수 있고 , 아카이브에 있는 모든 파일의 원본 내용만 원한다면 추가할 수 있습니다. ( 아카이브의 내용을 기본적으로 내용 앞에 각 파일의 이름을 제공하는 헤더로 추출합니다. 추출할 때 파일 이름이 출력되지 않습니다.) 및 대신 이 옵션을 사용할 수도 있습니다 .unzip
-c
-q
-c
stdout
-q
-p
-c
-q