linux + sed + 删除点后的所有内容

linux + sed + 删除点后的所有内容
more /tmp/file

sar -p: Average:        all     21.48      0.00      6.95      2.15      0.00     69.41

如何删除点后的所有内容

如下

sar -p: Average:        all     21      0      6      2      0     69

我们尝试

sed 's/.*//' /tmp/file

但没有帮助

答案1

以下应该有效:

sed -E 's/([0-9]+)\.[0-9]+/\1/g' /tmp/file

它专门查找多个数字,后跟一个句点,然后是更多数字,并将其替换为句点之前的部分(包含在 中的组( ... ))。

答案2

我尝试了下面的方法并且效果很好

命令

 sed "s/\.[0-9]\{2\}//g"  file

输出

sar -p: Average:        all     21      0      6      2      0     69

使用 python 添加另一个方法

#!/usr/bin/python
import re
k=re.compile(r'\.[0-9]{2}')
o=open('file','r')
for i in o:
    print re.sub(k,"",i)

相关内容