Shell-Script
將長輸出分成兩列
是否有一個簡單的實用程序或腳本來對我的一個腳本的輸出進行分欄?我有某種形式的數據:
A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh
但是如果這變成了兩個長,請按以下形式寫入數據(仍然是垂直排序的):
A aldkhasdfljhaf D lseuiorlhisnflkc B klajsdfhalsdfh E sdjklfhnslkdfhn C salkjsdjkladdag F kjhnakjshddnaskjdh
通過閱讀手冊頁,我認為這不
column
適合,但我不確定。拆分形式很容易:A B C D E F
通過僅列印
\n
每隔一行(我目前的腳本所做的)。有任何想法嗎?謝謝!
column
似乎是你想要的:$ cat file A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag D lseuiorlhisnflkc E sdjklfhnslkdfhn $ column file A aldkhasdfljhaf D lseuiorlhisnflkc B klajsdfhalsdfh E sdjklfhnslkdfhn C salkjsdjkladdag F kjhnakjshddnaskjdh
要對輸出進行分欄,請
pr
轉換文本文件以進行列印:-COLUMN, --columns=COLUMN: output COLUMN columns and print columns down, unless -a is used. -t, --omit-header : omit page headers and trailers
例如
ls /etc | pr -2 -t abrt gtk-2.0 acpi hal adjtime hba.conf agent.properties host.conf aliases hosts aliases.db hosts.allow ...