So drucken Sie die letzten 3 Ziffern der Eingabevariable in einem Shell-Skript. Beispiel: Eingabevariable 236548 und Ausgabe sollte 548 sein.
Antwort1
Angenommen, die Zahl ist in der Variablen gespeichert var
:
echo "${var#${var%???}}"
Hier ${var%???}
wird auf die letzten drei Zeichen von erweitert$var
ENTFERNT, wobei alles übrig bleibt, was vorn von entfernt werden muss $var
. Dieses Ergebnis wird verwendet, um diese Zeichen vom Anfang von zu entfernen $var
.
$var
In Worten: „Entfernen Sie von Anfang an, was nach dem Entfernen der letzten drei Zeichen von übrig bleibt $var
, und rufen Sie echo
damit auf.“
Antwort2
Wenn Ihre Shell Teilstringerweiterungen mit negativen Offsets wie bash
, ksh
, unterstützt zsh
, können Sie Folgendes tun:
$ var=236548
$ echo "${var: -3}"
548
gibt die letzten drei Zeichen von aus var
.
Antwort3
Sie können tail
den folgenden Befehl versuchen:
$> echo 236548 | tail -c 4
548
für eine Variable würden Sie $ verwenden:
$> echo "$MYVAR" | tail -c 4