Как напечатать правильные 3-значные целые числа в скрипте оболочки

Как напечатать правильные 3-значные целые числа в скрипте оболочки

Как вывести последние 3 цифры входной переменной в скрипте оболочки. Пример: Входная переменная 236548, а выходная должна быть 548.

решение1

Предположим, что число хранится в переменной var:

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

Здесь, ${var%???}расширяется до последних трех символов$var удаленный, оставляя все, что нужно удалить с начала $var. Этот результат используется для удаления этих символов с начала $var.

Проще говоря: «Удалить из начала все, что осталось $varпосле удаления последних трех символов $var, и вызвать echoс этим».

решение2

Если ваша оболочка поддерживает расширения подстрок с отрицательными смещениями, например bash, ksh, , zsh, вы можете сделать

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

повторяя последние три символа var.

решение3

Вы можете попробовать tailкоманду:

$> echo 236548 | tail -c 4
548

для переменной вы бы использовали $:

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

Связанный контент