读取文件并使用 sed 命令将点替换为冒号

读取文件并使用 sed 命令将点替换为冒号

我尝试使用 sed 正则表达式从下面的输入文件中读取句点 (.) 并用冒号 (:) 替换句点 (.)。请帮忙检查一下并给我一些建议。

输入文件12.23.45 预期为12:34:78

下面是我尝试过的 sed 正则表达式:

sed 's/\([0-9][0-9]\)\.\([0-9][0-9]\)\.\([0-9]\[0-9]\)/\1\:\2\:\3/g' TestFile.txt

但它不起作用。

答案1

在最后一个字符类之前有一个多余的反斜杠:

sed 's/\([0-9][0-9]\)\.\([0-9][0-9]\)\.\([0-9]\[0-9]\)/\1\:\2\:\3/g' file.txt 
#                                     here ___^

只需将其删除:

sed 's/\([0-9][0-9]\)\.\([0-9][0-9]\)\.\([0-9][0-9]\)/\1\:\2\:\3/g' file.txt 
12:23:45

相关内容