How to list content from a tar file without recursion?
Solution 1:
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.)
Solution 2:
How about something like:
tar -ztf file.tar.gz | egrep '^[^/]+/?$'