Answers
shell
$ echo 'a1
a2
21
a11' | sed 's/\([a-z]\)1/\1/'
a
a2
21
a1
解释
sed命令中 语法
s/regexp/replacement/
表示 匹配到
regexp
则 替换为
replacement
正则表达式为
[a-z]1
加括号表示捕获这个括号里的内容
([a-z])1
在替换的时候可以用
\0
表示整个匹配到的串,
\1
表示匹配到的第一个括号里的内容 以此类推
由于是shell命令,需要对
()
括号进行转义, 再加两个反斜杠
\
就得到结果
sed 's/\([a-z]\)1/\1/'
jgames
answered 10 years, 2 months ago