2014-05-11 2 views
1

나는 pigz (병렬 gzip)에서 만든 tar.gz 파일이 있습니다. 압축을 풀지 않고 압축 파일 안의 파일 수를 계산하고 싶었습니다.압축 해제하지 않고 tar.gz 파일 내부의 파일 수를 계산하는 방법은 무엇입니까?

나는이 명령을 사용

tar -tzf file.tar.gz 

을하지만 난 오류가있어 : 나는 pigz 대신 gzip을 사용하기 때문에

tar: This does not look like a tar archive 
tar: Skipping to next header 

그것을이다? 그렇다면 지금 어떻게 계산할 수 있습니까?

미리 감사드립니다.

+0

작동합니다 그. .tar.gz 파일의 작성 방법을 정확하게 보여줘야합니다. pigz 대 gzip은 제대로 수행되었다고 가정 할 때 여기서는 아무런 차이가 없습니다. –

+0

그건 그렇고, 압축을 풀어야하고'tzf '로 압축을 풀고 있습니다. 아마도 결과 파일을 저장하지 않고 말입니다. –

답변

4

tar 및 gzip 아카이브이므로 gzip을 사용하려면 z 옵션을 사용해야합니다. 그런 다음 wc으로 줄을 계산하면됩니다.

tar -tzf file.tar.gz | wc -l 
+0

-tzf를 사용했지만 언급 한대로 오류가 발생했습니다. – user3576287

1

해결책을 찾았습니다!

해당 파일에 대해 unpigz를 사용했으며 파일 확장명을 .tar로 변경했습니다. 그 후 아무 문제없이 tar -tzf를 사용할 수 있습니다.

감사합니다.

+0

즉, 실수로 두 번 압축했습니다. 'tar -tzf'가 작동했다면 그 파일은'tar.gz' 파일이었습니다. 내 의견에 말했듯이, 당신은 처음에 어떻게 파일을 생성했는지 정확하게 제공해야합니다. –

+0

나는 그랬다! 나는 "pigz (병렬 gzip)로 만든 tar.gz 파일을 가지고 있습니다"라는 질문을 시작했습니다. – user3576287

+0

"정확히 어떻게"사용 된 실제 명령 행을 의미합니까? –

0

전체 세부 정보 표시에 tar -vv 상세 정보 옵션을 두 번 사용하고 파일 사용 권한의 첫 번째 문자를 grep 할 수 있습니다. ^는 첫 x 째. 자 (행의 시작)와 만 일치 함을의 L합니다. grep -c 옵션은 행을 계산합니다.

drwxrwx--x directory 
lrwxrwxrwx symlink 
-rw-rw---- file 

수를 일반 파일 만

gzip -cd file.tar.gz | tar -tvv | grep -c ^- 
관련 문제