У меня есть файл с тысячами записей, подобных этой:
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
Вы устанавливаете разделители ввода и вывода ,
с помощью -F,
и -vOFS=,
инициализируете переменную n
с 800
помощью n=800
. Оператор "action" {$1=n++; print}
выполняется для каждой записи, устанавливая первое поле в пост-инкремент n
и печатая восстановленную запись