2013-03-24 55 views
1

我有一個擁有數千個條目的大數據項目。這些數據大概有20列,包括汽缸,汽油里程,品牌,型號等。我使用awk輸出所有數據。我必須將數據組織到一個不錯的表格中。使用awk每20行打印標題信息

我使用的腳本是這樣的:

#!/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件事情上。

回答

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