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
私は次のような出力を好みます(ここではsumを使用します: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
$ tabs=15
Bashで使用すると、同じ機能が得られます(このトピックを参照)。質問)。自動的にフォーマットできるプログラムはありますか?tabs
ファイルを読み取る前に値を試したくありません。cat
ベストアンサー1
私は通常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.
...