【发布时间】:2011-03-15 09:43:53
【问题描述】:
我使用这个命令:
sed 's/;\([0-9]*\),\([0-9]*\);/;\1.\2;/g;s/;\(\r\?\)$/\1/' inputfile
根据我的需要更改巨大的 csv 文件(请参阅 delete ';' at the end of each line)。
现在碰巧在某些 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
但这不起作用。
【问题讨论】: