我试图删除第一次出现的数字,点,数字的第二次出现以及单词之前的空格。
我想出了这个正则表达式:
sed 's/^[0-9]\+.[0-9]\+\s//' input.txt > output.txt
文字样本:
2.14 Italien
2.15 Japonais
不幸的是,我的正则表达式不起作用。有一个问题,\s
但我无法确定它是什么...
有人可以帮忙吗?
编辑:问题是我需要删除第一个空格只有一些文本包含空格,如下所示:
3.15 Chichewa
3.16 Chimane
3.17 Cinghalais
3.18 Créole de Guinée-Bissau
[\s]\+
此外,点没有转义时具有特殊含义,您可能需要注意这一点。
sed
当OP使用ERE元字符(+
)时,如何使用纯GNU 调用,默认情况下不启用扩展RE?
-r
开关; 并且让它更加混乱,你无法摆脱加号sed -r
。\s
也有效。两者都停止使用--posix
开关。
-r
扩展正则