부동 소수점 버전 번호 + Linux를 자르는 방법

부동 소수점 버전 번호 + Linux를 자르는 방법

다음 명령에서 처음 두 자리만 얻는 방법

내 목표는 hadoop 기본 버전을 얻는 것입니다

hdp-select | grep hadoop-client | awk '{print $NF}'
2.6.0.3-8

예상 결과:

2.6

답변1

소수점 자르기 사용인쇄 기능존재하다awk

awk '{printf "%.1f\n", $NF}'

답변2

싱글로:

hdp-select | awk '/hadoop-client/{ printf("%.1f\n",$NF); exit }'
2.6

  • /hadoop-client/hadoop-client- 키워드가 있는 줄만 고려

  • printf("%.1f\n",$NF)- 버전 번호를 간단한 부동 소수점 숫자로 형식 지정

  • exit- 즉시 처리 중지(자원 절약)

답변3

coreutils cut을 사용할 수 있습니다.

echo 2.6.0.3-8 | cut -d . -f 1,2

산출:

2.6

답변4

XX.YY기본 버전 번호를 얻으려면 다음과 같은 상황에서 명령이 최소 버전 번호를 얻을 수 있어야 합니까 2.10.0.3.3-8?

아래 명령은 버전 형식 grep만 반환합니다 .*.*

grep -Po 'hadoop-client - \K[1-9]+\.[0-9]+(?=.*)' <(hdp-select)
2.6

시험:

grep -Po 'hadoop-client - \K[1-9]+\.[0-9]+(?=.*)' <<<"hadoop-client - 21.61.0.3-8"                 
21.61

관련 정보