シェルスクリプトで入力変数の最後の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