A “fa” parancs szép dobozrajzoló karaktereket használ a fa megjelenítésére, de a kimenetet szeretném használni “kódoldalsemleges” kontextusban (tudom, hogy valóban ott van mindig egy kódlap, de az alacsonyabb karakterekre korlátozva remélem, hogy mentes leszek attól, hogy valaki Ulan Batorban mosolygós arcokat lát stb.).
Például a következő helyett:
├── include │ ├── foo │ └── bar
Tetszik valami ilyesmi:
+-- include | +-- foo | \-- bar
de egyik kipróbált “fa” kapcsoló kombináció sem adta ezt (inkább úgy tűnik, mintha a doboz-rajzoló karaktereket veszik alapul és még szebbé teszik) doboz rajzoló szűrőket keresett az ilyen átalakítások elvégzéséhez anélkül, hogy bármit is találna az ASCII art végtelen mennyiségén túl :-). Az általános szűrő szaga olyan, mintha 15 perc alatt elkészítenék – plusz még két növekményes nap botlik az összes mulatságos sarokesetben 🙂
Hozzászólások
- Köszönöm a kérdést. Szükségem volt erre, hogy a fa kimenetét átírjam az encskriptbe, hogy megszerezzem a nyomtatás formázásának ellenőrzését (a dupint / dprintm használatával a duplexpr csomagból sourceforge.net/projects/duplexpr/. )
Válasz
Ebben nem vagyok biztos, de szerintem minden, amire szükséged van
tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g"
Például:
$ 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
Alternatív megoldásként használhatja a --charset
opció:
$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files
Megjegyzések
- Ott ' s nincs GNU
tree
, ott ' s nincs Unixtree
, ott ' nincs POSIXtree
. Az egyetlentree
megvalósítás I ' tudatában van mama.indstate.edu/users/ice/tree . - @StephaneChazelas köszönöm, ezért a
--charset
opció mindig rendelkezésre kell állnia. A válasz szerkesztve. - Pompás! (főleg a sed verzió – számomra sed az a vad föld, amely túl van az awk határon)
- Tetszik a fa –charset = ascii opció, köszönöm
- Valójában szerintem a
--charset
opciót kell először megemlíteni – ased
opció alternatívája tanulságos, de bonyolultabb …
Válasz
Mi a helyzet a 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
megjegyzések
- Ez ' ugyanaz, mint a
tree --charset nwildner
- Igen. A másik választ így szerkesztették, nem vettem észre, hogy a @terdon teljesebb választ adott, miközben én írtam az enyémet;)