Пример ввода:
a:g:h:e:f:n
a:u:r:t:w:r
a:g:r:o:p:q
d:h:t:y:r:o
d:n:t:s:d:f
d:g:h:u:i:m:
d:s:e:r:t:y
n:m:k:s:t:r
n:r:t:y:w:g
Ожидаемый результат:
a:g:h:e:f:n
":u:r:t:w:r
":g:r:o:p:q
d:h:t:y:r:o
":n:t:s:d:f
":g:h:u:i:m:
":s:e:r:t:y
n:m:k:s:t:r
":r:t:y:w:g
Заменить дубликаты первого столбца на ", пока не будет найдено другое значение. Это то, что я нашел близко, нозамена по всему файлу:
awk '{for(i=1;i<=NF;i++){if(x<27&&$i=="old"){x++;sub("old","new",$i)}}}1' input_file