Příkaz „tree“ k zobrazení stromu používá pěkné znaky pro kreslení pole, ale chci použít výstup v kontextu „code-page-neutral“ (vím, že opravdu vždy existuje stránka s kódem, ale omezením na nižší znaky doufám, že se nebudu obávat, že někdo v Ulan Bator uvidí smajlíky atd.).
Například místo:
├── include │ ├── foo │ └── bar Líbí se mi něco jako:
+-- include | +-- foo | \-- bar ale žádná z kombinací přepínačů „stromu“, které jsem zkoušel, to nedala (zdá se to spíše, jako by jako základní linku braly znaky pro kreslení pole a byly ještě hezčí)
Také hledali filtry pro kreslení krabic, které by prováděly takové převody, aniž by našly něco přesahující nekonečné množství ASCII umění :-). Obecný filtr voní jako něco, co má být uvařeno za 15 minut – plus dva další přírůstkové dny narážející na všechny zábavné rohové případy 🙂
Komentáře
- Děkujeme za otázku. Potřeboval jsem to, abych mohl převést výstup stromu do strojopisu, abych získal kontrolu nad formátováním tisku (pomocí dprint / dprintm z mého balíčku duplexpr sourceforge.net/projects/duplexpr/. )
Odpověď
Nejsem si tím jistý, ale myslím, že vše, co potřebujete, je
tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g" Například:
$ tree . ├── file0 └── foo ├── bar │ └── file2 └── file1 2 directories, 3 files $ tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g" . +-- file0 \-- foo +-- bar │ \-- file2 \-- file1 2 directories, 3 files  Alternativně můžete použít --charset možnost: 
$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files Komentáře
-  Tam ' s bez GNU tree, ' s bez Unixutree, ' není POSIXtree. Jedinátreeimplementace I ' s vědomím, že je mama.indstate.edu/users/ice/tree .
-  @StephaneChazelas děkuji, takže možnost --charsetby měla být vždy k dispozici. Odpověď upravena.
- Skvělá! (zejména verze sed – pro mě sed je divoká země za hranicí awk)
- Líbí se mi možnost strom –charset = ascii, díky
-  Vlastně si myslím, že --charsetmožnost – alternativa používajícísedje poučná, ale komplikovanější …
Odpověď
 A co tree --charset unicode? 
|-- boot_print | |-- config-2.6.32-5-amd64 | |-- grub | | |-- 915resolution.mod | | |-- acpi.mod | | |-- affs.mod | | |-- afs_be.mod | | |-- afs.mod | | |-- aout.mod | | |-- ata.mod | | |-- ata_pthru.mod | | |-- at_keyboard.mod | | |-- befs_be.mod | | |-- befs.mod | | |-- biosdisk.mod | | |-- bitmap.mod | | |-- bitmap_scale.mod | | |-- blocklist.mod | | |-- boot.img Komentáře
-  To je ' stejné jako tree --charset nwildner
- Jo. Druhá odpověď byla upravena, takže jsem si ´ nevšiml, že @terdon dal úplnější odpověď, zatímco budu psát moje;)