Comanda „copac” folosește caractere frumoase pentru a arăta arborele, dar vreau să folosesc ieșirea într-un context de „pagină de cod neutră” (știu că într-adevăr există întotdeauna o pagină de cod, dar restricționând-o la caracterele inferioare sper să fiu liber de griji că cineva din Ulan Bator vede fețe zâmbitoare etc.).
De exemplu, în loc de:
├── include │ ├── foo │ └── bar
Mi-ar plăcea ceva de genul:
+-- include | +-- foo | \-- bar
dar niciuna dintre combinațiile de comutatoare „copac” pe care le-am încercat nu a dat acest lucru (pare mai mult ca și cum ar lua caracterele de desenare a casetei ca linie de bază și o vor face totuși mai frumoasă)
am căutat filtre pentru desenarea casetelor pentru a efectua astfel de conversii fără a găsi nimic dincolo de o cantitate infinită de artă ASCII :-). Un filtru generic miroase a ceva care trebuie gătit în 15 minute – plus încă două zile incrementale care se poticnesc în toate cazurile amuzante din colț 🙂
Comentarii
- Vă mulțumim pentru întrebare. Aveam nevoie de acest lucru, astfel încât să pot conecta ieșirea arborelui în enscript pentru a obține controlul formatării de imprimare (folosind dprint / dprintm din pachetul duplexpr sourceforge.net/projects/duplexpr/ )
Răspuns
Nu sunt sigur de acest lucru, dar cred că tot ce ai nevoie este
tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g"
De exemplu:
$ 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
Alternativ, puteți utiliza --charset
opțiune:
$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files
Comentarii
- Există ' s nu GNU
tree
, acolo ' s nu Unixtree
, nu există ' s POSIXtree
. Singura implementaretree
div id = „ac08570786″>
știu că este mama.indstate.edu/users/ice/tree .
--charset
ar trebui să fie întotdeauna disponibil atunci. Răspuns editat. --charset
ar trebui menționată mai întâi – alternativa care folosește sed
este instructivă, dar mai complicată … Răspuns
Dar 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
Comentarii
- Că ' este la fel ca
tree --charset nwildner
- Da. Celălalt răspuns a fost modificat, așa că nu am ´ observat că @terdon a dat un răspuns mai complet în timp ce am scris al meu;)