2

bashで「uname-r」コマンドの最初の2つの数字だけを取得する必要があります

通常の出力の例:

uname -r
3.5.0-18-generic

マジックバッシュオプションの使用に期待するもの:

3.5
4

3 に答える 3

6

2番目のドットの前にすべてが必要であると仮定すると、これはあなたが望むことを行います:

uname -r | cut -d. -f1-2

uname 自体は、出力のカットをサポートしていません。パイプ スルー カットには、ドット ( )-f1-2で区切られたフィールド 1 と 2 ( ) が表示されます。-d.

于 2012-11-12T09:28:59.330 に答える
3
uname -r | sed 's/\([0-9]\+\.[0-9]\+\)\..*/\1/'
于 2012-11-12T09:28:46.847 に答える
2

パラメータ展開を使用してこれを実現することもできます。

$ r="$(uname -r)"
$ echo ${r%.*}
3.5

${VAR%pat}patの最後から貪欲に削除しVARます。これはグロブ パターンであることに注意してください。patつまり、ドットは単に「ドット」を意味し、スターは「任意の数の文字」を意味します。

于 2012-11-12T09:38:33.327 に答える