Bash 4.2 hat Unterstützung für negative Teilstringlängen hinzugefügt:
http://tldp.org/LDP/abs/html/abs-guide.html#SUBSTREXTR01
Beispiel 37-12. Negativer Parameter im String-Extraktionskonstrukt
Wenn der Parameter "Länge" negativ ist, dient er als Versatz-vom-Ende-Parameter.
Die folgenden Ausgaben geben beispielsweise "World" aus, wenn sie unter Ubuntu getestet werden:
STR="Hello World!"
echo ${STR:6:-1}
In OS X (GNU Bash, Version 4.3.42 (1) - Release (x86_64-apple-darwin14.5.0)) führt diese Verwendung jedoch zu folgendem Fehler:
-1: substring expression < 0
Ist dieses OS X spezifisch oder wurde es in späteren Bash-Updates wieder deaktiviert? Gibt es eine Möglichkeit, diese Funktionalität für OS X zu aktivieren?
echo "Hello World" | rev | cut -c -5 | rev