Ho un semplice script di shell che rimuove gli spazi vuoti finali da un file. C'è un modo per rendere questo script più compatto (senza creare un file temporaneo)?
sed 's/[ \t]*$//' $1 > $1__.tmp
cat $1__.tmp > $1
rm $1__.tmp
cat
di sovrascrivere il file originale anziché mv
sostituirà effettivamente i dati nel file originale (cioè, non interromperà i collegamenti fisici). Utilizzare sed -i
come proposto in molte soluzioni non lo farà. IOW, continua a fare quello che stai facendo.
mv
posto dicat
erm
. Perché usicat
così comunque? Perché non usarecp
?