tar*_*sch 7 formatting awk tabular
我想打印一个如下所示的表:
> field1 field2 field3 field4
> 11.79 7.87 11.79 68
> .. more numbers
Run Code Online (Sandbox Code Playgroud)
我如何安排列的标题以一种将它们放在相应列的顶部的方式排列?
> field1 field2 field3 field4
> 11.79 7.87 11.79 68
> .. more numbers
Run Code Online (Sandbox Code Playgroud)
我的生成脚本如下所示:capture.sh:
echo 'field1, field2, field3, field4'
awk '/Capture the tablestuff/{set variables}
/DONE/ { printf("%5d %8.2f %8.2f %8.2f \n" ,field1, field2, field3, filed4); '
Run Code Online (Sandbox Code Playgroud)
如果可以的话,我真的想避免使用ascii格式化echo命令.
Pri*_*ley 23
我如何安排柱子的标题以一种将它们放在相应列的顶部的方式排列?
使用column.
手册页中的示例:
(printf "PERM LINKS OWNER GROUP SIZE MONTH DAY HH:MM/YEAR NAME\n" \
; ls -l | sed 1d) | column -t
Run Code Online (Sandbox Code Playgroud)
Fre*_*ihl 15
这个单行怎么样:
awk 'BEGIN {printf("%s %8s %8s %8s \n" ,"field1", "field2", "field3", "field4")}
{printf("%6.2f %8.2f %8.2f %8.2f\n", $1, $2, $3, $4)}' input
field1 field2 field3 field4
11.79 7.87 11.79 68.00
11.79 7.87 11.79 68.00
11.79 7.87 11.79 68.00
11.79 7.87 11.79 68.00
Run Code Online (Sandbox Code Playgroud)
即使用BEGIN打印标题,然后打印根据printf格式化的每一行,input文件中的所有数字,这里假设每行4,没有别的.根据您的需求调整它...