Einfach ein | xargs hinten anhängen, dann sind die Spaces weg. Leider aber auch das EOL.
Das könnte man ja beheben...
#!/bin/bash
# $home/bin/trim.sh
## USAGE:
# echo -e "\t \thallo\n \twelt\n Hallo Welt" | trim.sh
# program | trim.sh
# trim.sh < file
while read str; do
echo -n $str | xargs -d "\n";
done
Für die selben Daten (1800 Zeilen syslog) braucht das dann aber sogar mehr als 5 Sekunden. Das andere Skript benötigte 3.