Command-Line

很好地佈局製表符分隔列表的命令

  • March 16, 2022

有時,我得到一個輸入製表符分隔的列表,例如,它並沒有完全對齊

var1  var2  var3
var_with_long_name_which_ruins_alignment  var2 var3

有沒有一種簡單的方法可以使它們對齊?

var1                                      var2  var3
var_with_long_name_which_ruins_alignment  var2  var3

所以,答案就變成了:

column -t file_name

請注意,這會在任何空白處拆分列,而不僅僅是製表符。如果您只想拆分選項卡,請使用:

column -t -s $'\t' -n file_name

-s $'\t'分隔符設置為僅製表符並-n保留空列(相鄰的製表符)。

PS:只想指出,這也歸功於亞歷克斯。最初的提示是他作為對該問題的評論提供的,但從未作為答案發布。

對於手動製表位:expand -t 42,48

對於自動製表位,如alex建議的那樣:column -t

expand在所有POSIX 系統上column是一個 BSD 實用程序,在許多 Linux 發行版中也可用,這要歸功於util-linux。)

引用自:https://unix.stackexchange.com/questions/7698