如何使用Linux查找替换命令修改file.txt的时间格式并清除多余分号
解决方法
你可以直接用sed命令一次完成两个处理需求,不需要拆分多步操作:
直接输出处理后的内容
sed -e 's/\([0-9]\{2\}\)\.\([0-9]\{2\}\)\.\([0-9]\{2\}\);/\1:\2:\3;/' -e 's/;;/;/g' file.txt
直接修改原文件(需要备份可加后缀,比如-i.bak会自动生成file.txt.bak备份文件)
sed -i -e 's/\([0-9]\{2\}\)\.\([0-9]\{2\}\)\.\([0-9]\{2\}\);/\1:\2:\3;/' -e 's/;;/;/g' file.txt
规则说明
- 第一个替换规则只匹配
HH.MM.SS;格式的时间字段,将其中的.替换为:,不会误改金额等其他字段里的小数点 - 第二个替换规则全局匹配连续的两个分号
;;,替换为单个分号,删除多余的分隔符
内容的提问来源于stack exchange,提问作者rido
相关产品推荐
相关产品推荐

