“ fa ” parancs kimenete “ tiszta ” (7 bites) ASCII kimenet

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 Unix tree, ott ' nincs POSIX tree. Az egyetlen tree 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 – a sed 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;)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük