GNU/Linux >> Znalost Linux >  >> Linux

Seznam obsahu tarballu ve stromovém formátu

Existuje několik skriptů pro převod seznamu názvů cest do stromové podoby:

  • můj vlastní treeify.pl
  • treeify.rs od Loïca Damiena
  • treeify.py od Hakrila

Všechny tyto skripty pracují s tar -tf … výstup; například:

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

Také:

$ 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

Toto je jen dodatek k odpovědi uživatele 1686, i když nemám dostatečnou reputaci, abych se vyjádřil. I když jeho skripty určitě dělají svou práci dobře, je třeba je stáhnout do tree může to vlastně udělat nativně:

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

4 directories, 3 files

Všimněte si, že na rozdíl od většiny nástrojů tree používá tečku . a ne pomlčku - pro čtení vstupu z stdin:

INPUT OPTIONS
    --fromfile
        Reads a directory listing from a file rather than the file-system.
        Paths provided on the command line are files to read from rather than directories to search.
        The dot (.) directory indicates that tree should read paths from standard input.

To umožňuje používat typické stromové funkce, jako jsou zástupné znaky, ačkoli velikosti zjevně nelze zobrazit a argument úrovně (-L ) zřejmě také nefunguje...


Linux
  1. Žádný seznam typů v ISPConfig 3.1.11

  2. Převést výstup příkazu stromu do formátu Json?

  3. Příkaz `ls` nevypisuje nejnovější obsah adresáře?

  1. Linux ls Command - Seznam souborů

  2. Seznam souborů rekurzivně v Linux CLI s cestou relativní k aktuálnímu adresáři

  3. Jak rekurzivně vypsat všechny soubory a adresáře

  1. CentOS adresářová struktura jako strom?

  2. Seznam všech složek a podsložek

  3. Zobrazte každou velikost podadresáře ve formátu seznamu pomocí příkazu jednoho řádku v Bash?