浮動小数点バージョン番号+ Linuxを切り捨てる方法

浮動小数点バージョン番号+ Linuxを切り捨てる方法

次のコマンドで最初の2桁だけを取得する方法

私の目標は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

関連情報