1

我有一个包含数千个条目的大数据项目。数据大约有 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 行和标题之后必须有一个换行符。此外,最后一行应输出条目数。

我被困在最后三件事上。

4

1 回答 1

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
于 2013-03-24T22:33:48.040 回答