Den letzten Buchstaben eines Textes abschneiden

Hallo,

kann mir wer einen Tip geben, wie man in Linux von einem Text von einer Variablen den letzten Buchstaben in einer Variablen abschneiden kann?

Gruß

Thomas

Hallo Thomas,

kann mir wer einen Tip geben, wie man in Linux von einem Text
von einer Variablen den letzten Buchstaben in einer Variablen
abschneiden kann?

Was hast Du denn für Probleme mit letzten Buchstaben? :wink:

Also, etwas umständlicher Ansatz:

a="Hallo"
b=`echo $a | rev | cut -b2- | rev`
kb@etch:/tmp$ echo $b
hall

Viele Grüße
Marvin

Hallo,

kann mir wer einen Tip geben, wie man in Linux von einem Text
von einer Variablen den letzten Buchstaben in einer Variablen
abschneiden kann?

Bash3?

~# test=Hallo2
~# echo ${test%?}
Hallo


PHvL

Hallo PHvL.

kann mir wer einen Tip geben, wie man in Linux von einem Text
von einer Variablen den letzten Buchstaben in einer Variablen
abschneiden kann?

Bash3?

~# test=Hallo2
~# echo ${test%?}
Hallo

Ja super, ich rackere mich ab, drehe die Variable zweimal rum, scheuche sie durch drei Filter und dann kommt so ein Mensch und macht das mit einem Befehl :wink:
Wieder was gelernt, dafür einen Stern (obwohl ich den Hintergrund noch nachschlagen muss…)

Viele Grüße
Marvin

Hallo Marvin,

wenn Du die Erklärung, warum das so funktioniert gefunden hast, kannst Du die mir dann bitte auch ausdeutschen?

Gruß

Thomas

Hallo,

wenn Du die Erklärung, warum das so funktioniert gefunden
hast, kannst Du die mir dann bitte auch ausdeutschen?

durch das Zeichen % wird das danach kommende als Muster aufgefasst und der kleinstmögliche Treffer vom Ende des Variableninhalts abgeschnitten (# schneidet vom Beginn an ab und %% bzw. ## schneiden den größtmöglichen Treffer ab). Das ? ist das Muster, das auf ein beliebiges Zeichen matcht.

Vgl. auch die Manpage der Bash: http://www.gnu.org/software/bash/manual/bashref.html…


PHvL