Kommandoen «tre» bruker fine bokstegningstegn for å vise treet, men jeg vil bruke utgangen i en «kodeside-nøytral» sammenheng (jeg vet at det virkelig er en kodeside, men ved å begrense den til de lavere tegnene håper jeg å være fri for bekymringer for at noen i Ulan Bator ser smilefjes osv.).
For eksempel i stedet for:
├── include │ ├── foo │ └── bar
Jeg vil ha noe sånt som:
+-- include | +-- foo | \-- bar
men ingen av «tre» -bryterkombinasjonene jeg prøvde ga dette (virker mer som om de tar bokstavtegnene som grunnlinjen og gjør det enda penere)
Jeg har også så etter bokstegningsfiltre for å utføre slike konverteringer uten å finne noe utover en uendelig mengde ASCII-kunst :-). Et generisk filter lukter som noe som skal tilberedes på 15 minutter – pluss ytterligere to inkrementelle dager som snubler inn i alle de morsomme hjørnesakene 🙂
Kommentarer
- Takk for spørsmålet. Jeg trengte dette slik at jeg kunne føre utdataene fra treet til enscript for å få kontroll over utskriftsformateringen (ved hjelp av dprint / dprintm fra min duplexpr-pakke sourceforge.net/projects/duplexpr/. )
Svar
Jeg er ikke sikker på dette, men jeg tror alt du trenger er
tree | sed "s/├/\+/g; s/─/-/g; s/└/\\/g"
For eksempel:
$ 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
Alternativt kan du bruke --charset
alternativ:
$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files
Kommentarer
- Der ' uten GNU
tree
, der ' er ingen Unixtree
, der ' er ingen POSIXtree
. Den enestetree
implementeringen I ' jeg er klar over er mama.indstate.edu/users/ice/tree . - @StephaneChazelas takk, så
--charset
alternativet skal alltid være tilgjengelig da. Svaret er redigert. - Fantastisk! (spesielt sed-versjonen – for meg er sed de ville landene utenfor awk-grensen)
- Jeg liker treet –charset = ascii-alternativet, takk
- Egentlig tror jeg
--charset
alternativet bør nevnes først – alternativet ved hjelp avsed
er lærerikt, men mer komplisert …
Svar
Hva med 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
Kommentarer
- At ' er det samme som
tree --charset nwildner
- Yup. Det andre svaret ble redigert slik at jeg ikke ´ la merke til at @terdon ga et mer fullstendig svar mens jeg skrev mitt;)