【发布时间】:2017-11-10 17:47:45
【问题描述】:
在一个目录中,我有几个带有如下符号的文件:
myKey :
mySecondKey :
blabla :
我想去掉分号前的空格,使它们变成:
myKey:
mySecondKey:
blabla:
我试过了:
sed -e 's/([a-z]*) :/\1:/g' .
但我得到了:
": \1 not defined in the RE
我也试过了:
sed -e 's/([a-z]*)\ \:/\1\:/g'
但是错误并没有改变。
知道我做错了什么吗?
正则表达式如何不正确?
我没有正确定义变量吗?
【问题讨论】:
-
如果不使用扩展正则表达式选项
-r,则需要对组括号进行转义,将's/([a-z]*) :/\1:/g'更改为's/\([a-z]*\) :/\1:/g'