我想更改文件格式 来源: 00:00:03006 至: 00:00:03,006
sed -i 's/[0-9][0-9] [0-9][0-9][0-9]/[0-9][0-9],[0-9][0-9][0-9]/g' file
不起作用。它找到这些文本,但不会替换为原始数字。
答案1
这应该有效:
sed -E -i 's/([0-9][0-9]) ([0-9][0-9][0-9])/\1,\2/g' file
解释
当你写的时候
[0-9][0-9],[0-9][0-9][0-9]
在命令的第二部分中sed
,您不是说“替换为输入的数字”,而是说“替换为一些数字”,所以sed
无法理解你想用什么来代替。
使用正则表达式组(检查这个简单的解释)会说sed
“使用精确的您输入的数字”。
答案2
尝试:
sed -ri 's/([0-9]{2}) ([0-9]{3})/\1,\2/g' file