Command-Line
帶有“純”(7 位)ASCII 輸出的“tree”命令輸出
“樹”命令使用漂亮的方框圖字元來顯示樹,但我想在“程式碼頁中性”上下文中使用輸出(我知道確實總是有一個程式碼頁,但通過將其限制在較低的我希望不用擔心烏蘭巴託有人看到笑臉等)。
例如,而不是:
├── include │ ├── foo │ └── bar
我想要類似的東西:
+-- include | +-- foo | \-- bar
但是我嘗試過的“樹”開關組合都沒有給出這個(似乎更像是他們將畫框字元作為基線並使其更漂亮)
我還尋找方框圖過濾器來執行此類轉換,而不會發現任何超出無限量 ASCII 藝術的東西 :-)。一個通用的過濾器聞起來像是要在 15 分鐘內煮熟的東西——再加上兩天的增量,絆倒了所有有趣的角落案例 :-)
我不確定這一點,但我認為你所需要的只是
tree | sed 's/├/\+/g; s/─/-/g; s/└/\\/g'
例如:
$ 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
或者,您可以使用以下
--charset
選項:$ tree --charset=ascii . |-- file0 `-- foo |-- bar | `-- file2 `-- file1 2 directories, 3 files
怎麼樣
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