Como listar o conteúdo de arquivos compactados em um modo de hierarquia?

2

Considere que temos um arquivo chamado XX.zip

Use o comando zipinfo -1 XX.zip , que mostra o conteúdo abaixo:

XX/
XX/X-Data.txt
XX/YY/
XX/YY/Zero.txt

Eu quero abaixo a saída, presumo que tenhamos extraído o arquivo zip unzip XX.zip e, em seguida, use o comando tree XX given output:

XX
├── X-Data.txt
└── YY
    └── Zero.txt

Uma maneira de fazer isso é escrever um comando bash para criar a estrutura da hierarquia:

makefile ()                                                                                                                                                  
{
  while read path; do
      dir=${path%/*}
      filename=${path##*/}

      mkdir -p $dir
      if [ -n $filename ]; then
          touch $path
      fi  
  done
}

E, em seguida, use os comandos abaixo

 zipinfo -1 XX.zip | makefiletree 
 tree XX
 rm -rf XX

Existe alguma maneira conveniente de fazer? quaisquer comentários serão apreciados.

    
por mipa 19.10.2017 / 04:34

0 respostas