シェルスクリプトで入力変数の最後の3桁を出力する方法 例: 入力変数が236548で、出力は548である必要があります
答え1
数値が変数に格納されていると仮定しますvar
。
echo "${var#${var%???}}"
ここでは、${var%???}
最後の3文字に展開されます$var
削除された、 の先頭から削除する必要のあるものはすべて残します$var
。この結果は、 の先頭からそれらの文字を削除するために使用されます$var
。
$var
言葉で言うと、「の最後の 3 文字を削除した後に残っているものをすべて先頭から削除し$var
、echo
それを使用して を呼び出します」。
答え2
シェルが、、、などの負のオフセットによる部分文字列の展開をサポートしている場合はbash
、ksh
次zsh
のようにできます。
$ var=236548
$ echo "${var: -3}"
548
の最後の 3 文字をエコーしますvar
。
答え3
次のコマンドを試すことができますtail
:
$> echo 236548 | tail -c 4
548
変数の場合は$を使用します:
$> echo "$MYVAR" | tail -c 4