Cómo imprimir números enteros del dígito derecho 3 en un script de shell

Cómo imprimir números enteros del dígito derecho 3 en un script de shell

Cómo imprimir los últimos 3 dígitos de la variable de entrada en el script de shell Ej: variable de entrada 236548 y la salida debe ser 548

Respuesta1

Suponiendo que el número está almacenado en la variable var:

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

Aquí, ${var%???}se expande a los últimos tres caracteres de$var remoto, dejando lo que sea necesario quitar del frente $var. Este resultado se utiliza para eliminar esos caracteres del inicio de $var.

En palabras: "Elimine desde el principio lo que quede $vardespués de eliminar los últimos tres caracteres de $vary llame echocon eso".

Respuesta2

Si su shell admite expansiones de subcadenas con compensaciones negativas como ,, bashpodría hacerkshzsh

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

haciéndose eco de los últimos tres caracteres de var.

Respuesta3

Puedes probar tailel comando:

$> echo 236548 | tail -c 4
548

para una variable usarías $:

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

información relacionada