“ puu ” -komennolähtö “ puhtaan ” (7-bittinen) ASCII-lähtö

”Puu” -komento käyttää hienoja laatikkopiirteitä puun näyttämiseen, mutta haluan käyttää tulosta ”koodisivunneutraalissa” kontekstissa (tiedän, että siellä on aina koodisivu, mutta rajoittamalla sen vain alempiin merkkeihin toivon, että en ole huolissasi siitä, että joku Ulan Batorissa näkee hymiöitä jne.).

Esimerkki:

├── include │ ├── foo │ └── bar 

Pidän seuraavasta:

+-- include | +-- foo | \-- bar 

mutta mikään kokeilluista ”puu” -kytkinyhdistelmistä ei antanut tätä (näyttää siltä, että he ottavat laatikkopiirustuksen lähtötasoksi ja tekevät siitä vielä kauniimman)

Minä myös Etsin laatikko-piirtosuodattimia tällaisten muunnosten tekemiseksi löytämättä mitään loputtoman määrän ASCII-taidetta :-). Yleissuodatin haisee kuin jotain, joka on kypsennettävä 15 minuutissa – plus kaksi lisäpäivää, jotka kompastuvat kaikkiin huvittaviin kulmatapauksiin 🙂

Kommentit

  • Kiitos kysymyksestä. Tarvitsin tätä, jotta voisin viedä puun tuloksen enkurssiin saadaksesi tulosteen muotoilun tarkistuksen (käyttämällä dprint / dprintm-tiedostoa duplexpr-paketistani sourceforge.net/projects/duplexpr/. )

Vastaa

En ole varma tästä, mutta mielestäni kaikki mitä tarvitset on

tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g" 

Esimerkki:

$ 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 

Vaihtoehtoisesti voit käyttää --charset vaihtoehto:

$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files 

Kommentit

  • Siellä ' ei GNU tree, siellä ' s ei Unixia tree, siellä ' ei ole POSIXia tree. Ainoa tree toteutus I ' m tietoinen on mama.indstate.edu/users/ice/puu .
  • @StephaneChazelas kiitos, joten --charset -vaihtoehto pitäisi aina olla saatavilla. Vastaus muokattu.
  • Loistava! (etenkin sed-versio – minulle sed on villi maa awk-rajan takana)
  • Pidän puusta –charset = ascii, kiitos
  • Itse mielestäni --charset -vaihtoehto tulee mainita ensin – vaihtoehto, joka käyttää sed -ohjelmaa, on opettavainen, mutta monimutkaisempi …

vastaus

Entä 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 

kommentit

  • että ' on sama kuin tree --charset nwildner
  • Yup. Toista vastausta muokattiin niin, en ´ huomannut, että @terdon antoi täydellisemmän vastauksen, kun kirjoitan omaa;)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *