$ awk -F, 'FNR < 8 { print $0$1 }; FNR > 7 {print $0($1-7)}' arvind.txt
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
Para números de linha < 8, imprima a linha inteira seguida pelo primeiro campo. Para números de linha > 7, imprima a linha inteira seguida do valor do primeiro campo menos 7.
Note que FNR
é o número de registros de entrada que awk
viu no arquivo de entrada atual até o momento. FNR
é uma variável interna awk
. Ele tem nothing (além da co-incidência) para fazer com os valores que você tem no primeiro campo do seu arquivo de entrada.
BTW, se você executar isso com vários arquivos de entrada e desejar uma contagem de linhas cumulativa para todos os arquivos de entrada (em vez de uma contagem de linha separada para cada arquivo), use NR
em vez de FNR
.