Leerzeichen killen

Hallo Welt,
folgendes Problem:
Ich bekomme über die Standardeingabe einen Text, der am Ende viele Leerzeichen enthält(in einem bash-skript realisiert).
Da diese Leerzeichen am Ende stehen, stören sie mich nur und sollten/müssen weg.
habt ihr vielleicht eine Idee, wie ich das bewerkstelligen könnte?

Das Skript bisher:
cat >> /log.txt

ach ja, „trim“ funktioniert nicht (command not found)

cat >> /log.txt

cat >> /log.txt

cat | sed -e s/\ \$//g \>\> /log.txt

Jaja, riecht nach „useless use“ of cat,

HTH,

Sebastian

Hallo Sebastian,
danke für die schnelle Antwort.
Ich hab mir mal die Man-Page von sed angekuckt, und es sollte eigentlich funktionieren.

cat | sed -e s/\ $//g >> /log.txt

aber ich hab jetzt mal zum testen die obige Zeile von dir verwendet und es passiert nix. Die Datei bleibt leer.

Jetzt versuch ich mal zu verstehen, welche regex du verwendest.
s/xxx/yyy -> ersetzen xxx durch yyy
\ $ -> Leerzeichen am Ende einer Zeile
/g -> ein Leerzeichen behalten

ist das richtig?

Jaja, riecht nach „useless use“ of cat,

:wink:

HTH,

Sebastian

Falscher Parameter in

cat | sed -e s/\ $//g >> /log.txt

-e steht hier für Skript einbinden

Sollte so heißen:

cat | sed -r s/\ \$//g \>\> /log.txt
  • r steht für regex

jetzt gehts, danke

Hallo,

/g -> ein Leerzeichen behalten

nein, das steht für global: http://de.selfhtml.org/perl/sprache/regexpr.htm#flags

gruß
Heavy