txtファイルの特定の「列」の変更

txtファイルの特定の「列」の変更

次の何千もの項目を含むファイルがあります。

6/05/2016,32,34,40,45,48,,01,10
10/05/2016,02,26,27,40,49,,05,10
13/05/2016,07,15,28,31,42,,10,11
17/05/2016,15,27,32,36,39,,03,10

最初のフィールドの日付を800から始まる連続数字に置き換えたいです。したがって、このリストは次のように変換されます。

800,32,34,40,45,48,,01,10
801,02,26,27,40,49,,05,10
802,07,15,28,31,42,,10,11
803,15,27,32,36,39,,03,10
...

どうすればいいですか?

答え1

awkとても簡単です。

awk -F, -vOFS=, '{$1=n++; print}' n=800 file

入力と出力の区切り文字を,via-F,とに設定し-vOFS=,、変数をusingnに初期化します。 "action"ステートメントは各レコードに対して実行され、最初のフィールドを事後増分に設定し、再構成されたレコードを印刷します。800n=800{$1=n++; print}n

関連情報