я пытаюсь выполнить следующую подстановку в строках общего формата:
BBBBBBB.2018_08,XXXXXXXXXXXXX,01/01/2014,"109,07",DF,CCCCCCCCCCC, .......
, как вы видите, проблема в том, что это файл, разделенный запятыми, со специальным полем, содержащим десятичную запятую.Я хотел бы заменить это точкой.
Я пытался это сделать, чтобы заменить первое вхождение шаблона после матча, но безрезультатно, может ли кто-нибудь мне помочь?
sed -e '/,"/!b' -e "s/,/./"
sed -e '/"/!b' -e ':a' -e "s/,/\./"
Заранее спасибо.Решение awk или perl также поможетВот попытка awk:
gawk -F "," 'substr($10, 0, 3)==3 && length($10)==12 { gsub(/,/,".", $10); print}'
, что дало тот же файл без изменений.