如何只查看tar.gz压缩文件中顶层目录的列表

例如使用了如下命令会列出所有的文件:

$ tar -tf udpSocket.tar 
udpSocket/
udpSocket/clientUdp
udpSocket/clientUdp.c
udpSocket/makefile
udpSocket/serverUdp.c
udpSocket/serverUdp.h
udpSocket/serverUdp.o
udpSocket/singLinklistUdp
udpSocket/singLinklistUdp.c
udpSocket/singLinklistUdp.o

使用什么命令,才能只显示顶层的目录列表。如下,我只需要如下的信息:

udpSocket/
阅读 17.1k
3 个回答

方法一:

tar -tf udpSocket.tar | awk -F "/" '{print $1}' | sort | uniq

方法二:

tar -tf udpSocket.tar | awk -F "/" '{print $1}' | tail -n 1

方法三:

tar -tf udpSocket.tar | awk -F "/" '{print $1}' | sed -n '1p'
新手上路,请多包涵
tar -tf udpSocket.tar | awk -F "/" '{print $1}'

只有一个文件夹:

tar tf udpSocket.tar | head -1

可能多个文件夹:

tar tf udpSocket.tar --exclude='*/*'
推荐问题