Ich habe ein einfaches Shell-Skript, das nachgestellte Leerzeichen aus einer Datei entfernt. Gibt es eine Möglichkeit, dieses Skript kompakter zu gestalten (ohne eine temporäre Datei zu erstellen)?
sed 's/[ \t]*$//' $1 > $1__.tmp
cat $1__.tmp > $1
rm $1__.tmp
cat
zum Überschreiben der Originaldatei mv
die Daten in der Originaldatei ersetzt, anstatt sie tatsächlich zu ersetzen (dh, es werden keine festen Links unterbrochen). Die Verwendung, sed -i
wie in vielen Lösungen vorgeschlagen, reicht nicht aus. IOW, mach einfach weiter, was du tust.
mv
anstelle voncat
und verwendenrm
. Warum benutzt du das überhauptcat
so? Warum nicht verwendencp
?