Columns
如何在視窗邊框的末尾回顯帶有換行符的行?
我想在一行中回顯一個列表,TAB 分隔(就像
ls
一個文件夾中的文件一樣)for i in one two some_are_very_long_stuff b c; do echo $i; done
每個單詞列印一行:
one two some_are_very_long_stuff b c
相反,我想打破它,就像
ls
沒有選項一樣:mkdir /tmp/test cd /tmp/test for i in one two some_are_very_long_stuff b c z; do touch $i; done ls
將輸出
b one two c some_are_very_long_stuff z
您可以使用
columns
來自 GNU 的命令autogen
。$ seq 60 | columns 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
使用
zsh
,您可以使用print -C
:$ print -C4 {1..20} 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 5 10 15 20 $ print -aC4 {1..20} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
如果您需要先對它們進行排序(就像這樣
ls
做):$ print -oC4 {1..20} 1 14 19 5 10 15 2 6 11 16 20 7 12 17 3 8 13 18 4 9