Kommandoen “tree” bruger fine bokstegningstegn til at vise træet, men jeg vil bruge output i en “kodesideneutral” kontekst (jeg ved, at der virkelig altid er en kodeside, men ved at begrænse den til de lavere tegn håber jeg at være fri for bekymringer for, at nogen i Ulan Bator ser smileys osv.).
For eksempel i stedet for:
├── include │ ├── foo │ └── bar
Jeg kunne godt lide noget som:
+-- include | +-- foo | \-- bar
men ingen af de “træ” -kombinationskombinationer, jeg prøvede, gav dette (virker mere som om de tager bokstegningstegnene som basislinien og gør det endnu smukkere)
Jeg har også ledte efter bokstegningsfiltre til at udføre sådanne konverteringer uden at finde noget ud over en uendelig mængde ASCII-kunst :-). Et generisk filter lugter som noget, der skal koges op på 15 minutter – plus yderligere to inkrementelle dage, der snubler ind i alle de morsomme hjørnesager 🙂
Kommentarer
- Tak for spørgsmålet. Jeg havde brug for dette, så jeg kunne pibe output af træ i enscript for at få kontrol over udskrivningsformateringen (ved hjælp af dprint / dprintm fra min duplexpr-pakke sourceforge.net/projects/duplexpr/. )
Svar
Jeg er ikke sikker på dette, men jeg tror alt hvad du behøver 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 bruge --charset
mulighed:
$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files
Kommentarer
- Der ' uden GNU
tree
, der ' er ingen Unixtree
, der ' er ingen POSIXtree
. Den enestetree
implementering I ' jeg er opmærksom på, er mama.indstate.edu/users/ice/tree . - @StephaneChazelas tak, så
--charset
skal altid være tilgængelig da. Svar redigeret. - Pragtfuldt! (især sed-versionen – for mig er sed de vilde lande ud over awk-grænsen)
- Jeg kan godt lide træet –charset = ascii option, tak
- Faktisk tror jeg
--charset
skal først nævnes – alternativet ved hjælp afsed
er lærerigt, men mere kompliceret …
Svar
Hvad 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 andet svar blev redigeret, så jeg ´ lagde ikke mærke til, at @terdon gav et mere komplet svar, mens jeg skrev mit;)