我的文件没有正确的间距,我想在美元金额和旁边的单词(即 )之间添加一个空格2342.20Hello。
我尝试使用sed来解决这个问题,但似乎没有效果。
我尝试了这个命令,但它似乎不起作用。
sed -r 's/([0-9].*)\.([a-zA-Z].*) /\1 \2/g' /tmp/testfile2.txt
Run Code Online (Sandbox Code Playgroud)
我期待的文件包含:
2234.3Hello
8938.3HeyYou
1239.0New
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
2234.3 Hello
8938.3 HeyYou
1239.0 New
Run Code Online (Sandbox Code Playgroud)
我同意Perl或sed命令来完成上述任务。
您的正则表达式试图匹配后跟.-您的输入中不存在这样的字符串,每个字母[a-zA-Z]之间总是有一个数字。.
使用任何 sed:
$ sed 's/\.[0-9]*/& /' file
2234.3 Hello
8938.3 HeyYou
1239.0 New
Run Code Online (Sandbox Code Playgroud)