每隔20行使用awk打印标题信息

时间:2013-03-24 22:26:01

标签: linux bash

我有一个包含数千个条目的大数据项目。数据大约有20列,包括汽缸,汽油里程,品牌,型号等。我正在使用awk输出所有数据。我必须将数据组织成一个漂亮的表。

我正在使用这样的脚本:

#!/bin/bash

while read x
do
echo $x | awk -F ',' ' { print $1":"$2":"$4":"$7":"$8":"$10":"$11":"$12":"$22":"$24 } '
done

冒号会有标题标题。我需要每20行重复一次,并且必须在第20行和标题后面换行。此外,最后一行应输出条目数。

我坚持做最后3件事。

1 个答案:

答案 0 :(得分:2)

使用while read循环没有意义,事实上它使事情变得复杂,因为它使awk难以保持行号的计数。尝试:

awk -F, 'NR % 20 == 1 { print "header columns" }
    { print $1,$2,$4,$7,$8,$10,$11,$12,$22,$24 }' OFS=: input-file