如何在shell脚本中格式化数据库的输出

时间:2017-08-09 13:30:41

标签: shell awk

我编写了shell脚本并从数据库中提取记录。以下是我在xyz.txt文件中的结果。

NAME
COUNT(*)
Ben 7
Tim 4
BPNAME
COUNT(*)
Mark 7
Jhon 4

但我如何格式化如下。所以我可以发送电子邮件来显示相同​​内容。

NAME   COUNT
Ben     7
Tim     4
Mark    7
Jhon    4

2 个答案:

答案 0 :(得分:0)

awk 解决方案:

awk 'BEGIN{ print "NAME","COUNT" }!/NAME|COUNT/{ print $1,$2 }' xyz.txt | column -t

输出:

NAME  COUNT
Ben   7
Tim   4
Mark  7
Jhon  4

答案 1 :(得分:0)

您可以使用awk包含格式来完成此任务,而不是像已经建议的那样管道到column -t

BEGIN的{​​{1}}部分,您始终可以awk打印标题。对于格式化打印,您始终可以从print切换到print

printf部分执行后,BEGIN第1和第2列仅在没有(printf)模式时才会!或(NAME|

COUNT