
1000 万行以上のテキスト ファイルがあります。ファイルは次のようになります。
1902400023
1902400029
1902400031
1902400032
見出し、増分 ID 番号、定数 SHORTCODE を追加したいと考えていました。期待される結果:
ID,MSISDN,SHORTCODE
1,1902400023,1
2,1902400029,1
3,1902400031,1
4,1902400032,1
そして、これはファイルの最後まで継続され、別のファイルに書き込まれます。
答え1
awk
次のようなコードが必要だと思います
awk 'BEGIN { OFS = ","; header="ID,MSISDN,SHORTCODE" } NR == 1 { print header }
{ $2 = $0; $1 = NR; $3 = 1; }1' file
句ではBEGIN
、出力フィールド区切り文字を,
演算子に設定し、ヘッダー文字列を初期化します。ファイルが処理されると、最初の行にヘッダーが挿入され、後続の行から、OP で示したように行が挿入されます。は、増分カウンターに使用する行番号を追跡するNR
、コンテキスト内の特別な変数ですawk
。
答え2
ここで、以下のような awk コマンドを使用して行番号を追加できます。
$ awk '{printf("%d:%s\n", NR, $0)}' millionlinetextfile > linenumberedfile