CSVレコードを順次変更

CSVレコードを順次変更

ファイルのテキストを順番に変更したいと思います。

ファイルの内容は次のとおりです。

1,01-JUN-2016,ABC
2,01-JUN-2016,ABC
3,01-JUN-2016,ABC
4,01-JUN-2016,ABC
5,01-JUN-2016,ABC
6,02-JUN-2016,ABC
7,02-JUN-2016,ABC
8,02-JUN-2016,ABC
9,02-JUN-2016,ABC
10,02-JUN-2016,ABC
11,02-JUN-2016,ABC
12,02-JUN-2016,ABC
13,02-JUN-2016,ABC
14,02-JUN-2016,ABC

次のように修正したいと思います。

1,01-JUN-2016,ABC1
2,01-JUN-2016,ABC2
3,01-JUN-2016,ABC3
4,01-JUN-2016,ABC4
5,01-JUN-2016,ABC5
6,02-JUN-2016,ABC6
7,02-JUN-2016,ABC7
8,02-JUN-2016,ABC1
9,02-JUN-2016,ABC2
10,02-JUN-2016,ABC3
11,02-JUN-2016,ABC4
12,02-JUN-2016,ABC5
13,02-JUN-2016,ABC6
14,02-JUN-2016,ABC7

ベストアンサー1

awkを使う

awk '$0=$0 (NR-1)%7+1' file

または

awk '{print (NR-1)%7+1}' file

デフォルトでは、1を引くことは数字0から始まります。
Modulo 7 は 7 行目ごとに繰り返されます。
さらに、7 mod 7は0なので、私たちが始めたいのではないので、1から始めたいので+1します。

おすすめ記事