【发布时间】:2018-06-05 19:35:10
【问题描述】:
我的输入文件的列空间均匀,如下所示:
X a b C D
如何使用 awk 指定列之间的空格数,以便我得到如下内容:
X a b C D
我知道如何使用 awk 计算列之间的空格,但我只是不知道如何添加这些空格以获得我想要的布局。有什么建议吗?
【问题讨论】:
标签: awk
我的输入文件的列空间均匀,如下所示:
X a b C D
如何使用 awk 指定列之间的空格数,以便我得到如下内容:
X a b C D
我知道如何使用 awk 计算列之间的空格,但我只是不知道如何添加这些空格以获得我想要的布局。有什么建议吗?
【问题讨论】:
标签: awk
awk
$ echo "X a b C D" | awk '{printf "%-6s%-2s%-5s%-9s%s\n", $1,$2,$3,$4,$5}'
X a b C D
或者直接用 printf
$ echo "X a b C D" | xargs printf "%-6s%-2s%-5s%-9s%s\n"
X a b C D
【讨论】:
这就是 printf 派上用场的地方:
$ echo "X a b C D" | perl -lane 'printf "%-6s%-2s%-5s%-9s%s\n", @F'
X a b C D
根据需要调整字段宽度。
【讨论】: