我在数据中有一组标记并希望去掉尾随".[0-9]"
,但是我无法弄清楚如何正确引用正则表达式。第一场比赛应该全部由 the.
和第二个 the.
和一个数字组成。我打算保留第一场比赛。
data="thing thing__aaa.0 thing__bbb.3 thing__ccc.5 other_aaa other_bbb other_ccc.5"
data=`echo $data | sed s/\([a-zA-Z0-9_]+\)\(\.[0-9]\)/\1/g`
echo $data
实际输出:
thing thing__aaa.0 thing__bbb.3 thing__ccc.5 other_aaa other_bbb other_ccc.5
期望的输出:
thing thing__aaa thing__bbb thing__ccc other_aaa other_bbb other_ccc
这个想法是 unquoted([a-zA-Z0-9_]+)
是第一个匹配组,并且(\.[0-9])
匹配.number
. 应该用\1
第一组替换两组。