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行目とヘッダーの後に改行が必要です。また、最後の行にはエントリ数が出力されます。

私は最後の3つのことで立ち往生しています。

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 に答える