如何以层次结构模式列出压缩文件的内容?

如何以层次结构模式列出压缩文件的内容?

假设我们有一个名为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

有没有什么方便的方法?任何评论都将受到赞赏。

相关内容