$ awk -F '"' 'BEGIN { OFS=FS; n=1 } { $2 = sprintf("%s%d", $2, ++n/2); print }' file
id="picture-1"
id="picture-1"
id="picture-2"
id="picture-2"
Здесь мы рассматриваем каждую строку как набор"
-полей с разделителями. Второе поле изменяется с помощью awk
путем добавления целого числа в его конец. Целое число увеличивается на единицу для каждой строки, но также делится на два. В результате число в выводе будет увеличиваться на единицу каждую вторую строку (из-за округления, когда число используется с форматом %d
вsprintf()
).