4

За ответы здесь я могу перечислить содержимое моего архива в формате ls Тем не менее, я хотел бы иметь возможность перечислить их в tree формате, то есть что-то вроде последнего вместо первого:

С 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

С tree:

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

Возможно ли это сделать без распаковки тарбола? Я бы предпочел избегать извлечения тарбола из-за их размера.

1 ответ1

7

Существует несколько сценариев для преобразования списка имен путей в древовидную форму:

Все эти скрипты работают с tar -tf … output; например:

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

Также:

$ 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .