Как составить список содержимого сжатых файлов в режиме иерархии?

Считайте, что у нас есть файл с именем 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

Есть ли удобный способ сделать? любые комментарии будут оценены.

0 ответов

Другие вопросы по тегам