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)

関連情報