Я использую эту команду:
sed 's/;\([0-9]*\),\([0-9]*\);/;\1.\2;/g;s/;\(\r\?\)$/\1/' inputfile
для изменения огромных csv-файлов под свои нужды (см. delete ';' в конце каждой строки ).
Теперь бывает, что в некоторых csv-файлах есть «фиктивные даты» например, 20000500, который нельзя импортировать в SQL из-за двух последних нулей (что невозможно для дат).
Как мне отредактировать мою команду sed, чтобы в таких случаях всегда менять последние две цифры на 01 (я означает, только если они равны 00)?
Я пробовал
sed 's/;\([0-9]*\),\([0-9]*\);/;\1.\2;/g;s/;\([0-9]{6}\)00;/;\101;/g;s/;\(\r\?\)$/\1/' inputfile
, но это не сработало.