次の何千もの項目を含むファイルがあります。
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"ステートメントは各レコードに対して実行され、最初のフィールドを事後増分に設定し、再構成されたレコードを印刷します。800
n=800
{$1=n++; print}
n