如何删除给定行中的数字后跟一个点(。)

时间:2016-02-01 07:07:56

标签: regex linux unix sed

我想删除该行后面的数字(无论是否为数字)。

echo "99.1DEEP CHA/SM  9.1DEEP CHA/SM  123.1DEEP CHA/SM" | sed 's|[0-9]\.||g'

实际结果:

 91DEEP CHA/SM  1DEEP CHA/SM  121DEEP CHA/SM

预期结果:

1DEEP CHA/SM  1DEEP CHA/SM  1DEEP CHA/SM

1 个答案:

答案 0 :(得分:0)

使用[0-9]\.,您要搜索1位数后跟.。如果您要搜索所有数字后跟.,请使用[0-9]\+\.

echo "99.1DEEP CHA/SM  9.1DEEP CHA/SM  123.1DEEP CHA/SM" | sed 's|[0-9]\+\.||g'

输出

1DEEP CHA/SM  1DEEP CHA/SM  1DEEP CHA/SM