Lista o conteúdo do tarball no formato de árvore

4

Por respostas aqui Eu sou capaz de listar o conteúdo do meu tarball no formato ls . No entanto, gostaria de poder listá-los no formato tree , ou seja, algo como o último em vez do primeiro:

com tar :

$ tar -tf foo.tar 
foo/
foo/baz/
foo/baz/qux/
foo/baz/qux/hisfile.txt
foo/bar/
foo/bar/myfile.txt
foo/bar/yourfile.txt

com tree :

$ tree foo
foo
├── bar
│   ├── myfile.txt
│   └── yourfile.txt
└── baz
    └── qux
        └── hisfile.txt

É possível fazer isso sem extrair o tarball? Eu preferiria evitar extrair o tarball devido ao seu tamanho.

    
por Vasu 07.06.2016 / 18:01

1 resposta

7

Existem vários scripts para converter uma lista de nomes de caminho em forma de árvore:

Todos esses scripts funcionam com tar -tf … output; por exemplo:

$ tar -tf foo.tar | treeify
foo
 ├─bar
 │  ├─myfile.txt
 │  └─yourfile.txt
 └─baz
    └─qux
       └─hisfile.txt

Além disso:

$ bsdtar -tf foo.zip | treeify
$ find /dir -size +5 | treeify
$ git ls-files       | treeify
$ pacman -Qql foopkg | treeify
$ unrar vb foo.rar   | treeify
$ zipinfo -1 foo.zip | treeify
$ gsettings list-schemas   | treeify -s. -f
$ qdbus | sed -n "s/^ //p" | treeify -s. -f
$ ldns-walk netbsd.org | awk '{print $1}' | treeify -s. -f -R
    
por 07.06.2016 / 19:00

Tags