シェル スクリプトで右桁の 3 つの整数を出力する方法

シェル スクリプトで右桁の 3 つの整数を出力する方法

シェルスクリプトで入力変数の最後の3桁を出力する方法 例: 入力変数が236548で、出力は548である必要があります

答え1

数値が変数に格納されていると仮定しますvar

echo "${var#${var%???}}"

ここでは、${var%???}最後の3文字に展開されます$var 削除された、 の先頭から削除する必要のあるものはすべて残します$var。この結果は、 の先頭からそれらの文字を削除するために使用されます$var

$var言葉で言うと、「の最後の 3 文字を削除した後に残っているものをすべて先頭から削除し$varechoそれを使用して を呼び出します」。

答え2

シェルが、、、などの負のオフセットによる部分文字列の展開をサポートしている場合はbashkshzshのようにできます。

$ var=236548
$ echo "${var: -3}"
548

の最後の 3 文字をエコーし​​ますvar

答え3

次のコマンドを試すことができますtail:

$> echo 236548 | tail -c 4
548

変数の場合は$を使用します:

$> echo "$MYVAR" | tail -c 4

関連情報