Shell
是否有用於輸出製表符分隔列的簡單命令?
例如,我有一個文件(用 生成
echo -e "var1\tvar2\t\var3\tvar4" > foo
),輸出為:$ cat foo case elems meshing nlsys uniform 2350 0.076662 2.78 non-conformal 348 0.013332 0.55 scale 318 0.013333 0.44 smarter 504 0.016666 0.64 submodel 360 .009999 0.40 unstruct-quad 640 0.019999 0.80 unstruct-tri 1484 0.01 0.88
我更喜歡這樣的輸出(這裡我使用
vim
and:set tabstop=14
):case elems meshing nlsys uniform 2350 0.076662 2.78 non-conformal 348 0.013332 0.55 scale 318 0.013333 0.44 smarter 504 0.016666 0.64 submodel 360 .009999 0.40 unstruct-quad 640 0.019999 0.80 unstruct-tri 1484 0.01 0.88
cat
如果我在 bash 中使用,我可以獲得相同的功能$ tabs=15
(參見這個問題)。有沒有自動進行這種格式化的程序?我不想在ing 文件tabs
之前嘗試該值。cat
我通常為此使用該
column
程序,它位於bsdmainutils
Debian 上的一個包中:column -t foo
輸出:
case elems meshing nlsys uniform 2350 0.076662 2.78 non-conformal 348 0.013332 0.55 scale 318 0.013333 0.44 smarter 504 0.016666 0.64 submodel 360 .009999 0.40 unstruct-quad 640 0.019999 0.80 unstruct-tri 1484 0.01 0.88
摘自
column(1)
我的系統:... -t Determine the number of columns the input contains and create a table. Columns are delimited with whitespace, by default, or with the characters supplied using the -s option. Useful for pretty-printing displays. ...