I've a tar (gz, bzip) file and want to see its content, but not recursively.
This is: The "first level" in the file.
I already know how to see content:
tar -ztf file.tar.gz
But it's recursive!!
Thanks!
How about something like:
tar -ztf file.tar.gz | egrep '^[^/]+/?$'
tar --exclude='*/*' -tf yourarchive.tar
should do it.
That's almost certainly a GNU tar-ism. But who doesn't use GNU tar, right? (Another fun fact: in recent versions of GNU tar, you don't need the 'z' or 'j' to list or uncompress .gz or .bz files -- it autodetects those and it just works.)
-t
means list. So -tf
can be converted to --list -f
.
Oct 18, 2017 at 16:24
tar --exclude='*/*/*' -tf yourarchive.tar
Jul 25, 2019 at 14:33
This should show top-level directories as well as just files that include the dot character:
$ 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/