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)

관련 정보