bashで「uname-r」コマンドの最初の2つの数字だけを取得する必要があります
通常の出力の例:
uname -r
3.5.0-18-generic
マジックバッシュオプションの使用に期待するもの:
3.5
2番目のドットの前にすべてが必要であると仮定すると、これはあなたが望むことを行います:
uname -r | cut -d. -f1-2
uname 自体は、出力のカットをサポートしていません。パイプ スルー カットには、ドット ( )-f1-2
で区切られたフィールド 1 と 2 ( ) が表示されます。-d.
uname -r | sed 's/\([0-9]\+\.[0-9]\+\)\..*/\1/'
パラメータ展開を使用してこれを実現することもできます。
$ r="$(uname -r)"
$ echo ${r%.*}
3.5
${VAR%pat}
pat
の最後から貪欲に削除しVAR
ます。これはグロブ パターンであることに注意してください。pat
つまり、ドットは単に「ドット」を意味し、スターは「任意の数の文字」を意味します。