Сценарий 1
Мне нужно вносить изменения ниже только в том случае, если столбец 1 равен CR
, а в столбце 3 есть дубликаты строк / значений. Этот входной файл может содержать 100 дублированных строк столбца 3
.
Значение в столбце 3 должно быть суффиксом с последовательностью, начинающейся с a
, за которой следует CR
.
если мы добавили суффикс до a к z
с CR как (aCR, bCR, cCR
до zCR
), то следующий суффикс будет aaCR, abCR, acCR
и так далее для столбца 3
Входной файл
a||c
CR||2157237496
CR||2157237496
CR||2157237496
INV||2157237496
RNV||3457634589
Выходной файл
a||c
CR||2157237496aCR
CR||2157237496bCR
CR||2157237496cCR
INV||2157237496
RNV||3457634589
Сценарий 2
Нужно сделать это в отдельном коде. Ниже для другого файла. Мне нужно внести изменения ниже только в том случае, если столбец 1 является DR, а в столбце 3 есть дубликаты строк / значений. Значение в столбце 3 должно быть суффиксом с последовательностью, начинающейся с a
, за исключением первого документа, за которым следует DR
.
Если мы добавили суффикс до a к z
с DR как (aDR, bDR, cDR
до zDR
), то следующий суффикс будет aaDR, abDR, acDR
и так далее для столбца 3
Входной файл
a||c
DR||3770022521
DR||3770022521
DR||3770022521
INV||9876543738
Выходной файл
a||c
DR||3770022521
DR||3770022521aDR
DR||3770022521bDR
INV||9876543738
Я попробовал приведенный ниже код, он дает мне вывод для сценария 2, но не может добавить порядковый номер в column3. Я могу суффикс только a
, который является статическим.
Здесь необходимо учитывать столбец 1 равным CR
для сценария 1 и DR
для сценария 2 (что я не могу сделать)
awk -F"|" -v OFS="|" '{if(++a[$3]>1)$3=$3"a"}1' d1.txt
Вывод кода:
a||c
CR||2157237496
CR||2157237496a
CR||2157237496a
INV||2157237496a
RNV||3457634589
Мне нужно реализовать сценарии 1 и 2 отдельно