捕获每行的最后一个单词

use*_*144 5 regex string sed

我的文件没有正确的间距,我想在美元金额和旁边的单词(即 )之间添加一个空格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)

我同意Perlsed命令来完成上述任务。

Ed *_*ton 3

您的正则表达式试图匹配后跟.-您的输入中不存在这样的字符串,每个字母[a-zA-Z]之间总是有一个数字。.

使用任何 sed:

$ sed 's/\.[0-9]*/& /' file
2234.3 Hello
8938.3 HeyYou
1239.0 New
Run Code Online (Sandbox Code Playgroud)