재귀없이 tar 파일의 내용을 나열하는 방법은 무엇입니까? 가지고 있으며 그 내용을보고 싶지만

나는 tar (gz, bzip) 파일을 가지고 있으며 그 내용을보고 싶지만 재귀 적으로는 원하지 않습니다.

파일의 “첫 번째 수준”입니다.

콘텐츠를 보는 방법을 이미 알고 있습니다.

tar -ztf 파일 .tar.gz

그러나 재귀입니다!

감사!



답변

어때요?

tar -ztf file.tar.gz | egrep ‘^ [^ /] + /? $’


답변

tar --exclude='*/*' -tf yourarchive.tar 해야합니다.

그것은 거의 확실하게 GNU tar-ism입니다. 그러나 누가 GNU tar를 사용하지 않습니까? (또 다른 재미있는 사실 : 최신 버전의 GNU tar에서는 .gz 또는 .bz 파일을 나열하거나 압축을 풀기 위해 ‘z’또는 ‘j’가 필요하지 않습니다. 파일을 자동 감지하여 작동합니다.)


답변

여기에는 최상위 디렉토리뿐만 아니라 도트 문자가 포함 된 파일 만 표시되어야합니다.

$ tar -tf app.tar.gz | grep -E '^\w+(\.\w+)*/*\w+(\.\w+)*/?$'

django/
django/django.wsgi
django/search_indexes/
django/templates/
django/app/
django/other-app/