PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Simple Frage, Leerzeichen am Ende einer Zeile loeschen



marco_
11-07-2006, 10:58
Mit welchem Kommando kann man in der Shell am ende einer Zeile ein Leerzeichen (nur wenn es vorkommt) loeschen?

also z.B.:
echo "Hallo Welt "

ich will nur das letzte Leerzeichen loeschen, das zwischen Hallo und Welt nicht.
Mit welchem Kommando kann ich das direkt in der Shell loeschen, ohne jetzt grossartig ein Programm schreiben zu muessen?

bzw. noch eine Frage: Wie kann ich das Leerzeichen zwischen Hallo und Welt maskieren also ein \ davorsetzen?

Waxolunist
11-07-2006, 13:44
Versuchs mal mit trim.
Also var = trim("Hallo ");

sagi
11-07-2006, 22:52
echo "Hallo Welt " | sed -e "s/ *$//"

marco_
12-07-2006, 09:31
echo "Hallo Welt " | sed -e "s/ *$//"

Danke! Und wie kann man jetzt das noch bestehende Leerzeichen maskieren? Also einen \ davorsetzen??

RAHUL
12-07-2006, 12:01
Hallo,

ich würde zum einen statt mit


echo "Hallo Welt " | sed -e "s/ *$//"


mit


echo "Hallo Welt " | sed -e "s/\s*$//"


arbeiten, da du wahrscheinlich beliebige Whitespace-Zeichen ersetzen willst und
mit dem Maskieren, weiß ich nicht 100%-ig, was du meinst, aber ein


echo "Hallo Welt " | sed -e "s/\s*$//" | sed -r "s/\s+/\\\ /g"

gibt wahrscheinlich aus, was du haben willst...
Frag mich aber nich, warum man drei backslashes braucht, damit es in der Ausgabe
ankommt, ich kenn mich nicht gut genug mit "regular expressions" aus.

MfG
Rahul