![如何以层次结构模式列出压缩文件的内容?](https://linux22.com/image/1150819/%E5%A6%82%E4%BD%95%E4%BB%A5%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84%E6%A8%A1%E5%BC%8F%E5%88%97%E5%87%BA%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%9F.png)
假设我们有一个名为XX.zip
使用zipinfo -1 XX.zip
显示以下内容的命令:
XX/
XX/X-Data.txt
XX/YY/
XX/YY/Zero.txt
我想要下面的输出,假设我们已经解压缩了 zip 文件unzip XX.zip
,然后使用tree XX
给定的命令输出:
XX
├── X-Data.txt
└── YY
└── Zero.txt
一种方法是编写一个 bash 命令来创建层次结构:
makefile ()
{
while read path; do
dir=${path%/*}
filename=${path##*/}
mkdir -p $dir
if [ -n $filename ]; then
touch $path
fi
done
}
然后使用下面的命令
zipinfo -1 XX.zip | makefiletree
tree XX
rm -rf XX
有没有什么方便的方法?任何评论都将受到赞赏。