Mam prosty skrypt powłoki, który usuwa końcowe spacje z pliku. Czy istnieje sposób, aby ten skrypt był bardziej zwarty (bez tworzenia pliku tymczasowego)?
sed 's/[ \t]*$//' $1 > $1__.tmp
cat $1__.tmp > $1
rm $1__.tmp
cat
do nadpisania oryginalnego pliku, a nie do mv
zastąpienia danych w oryginalnym pliku (tj. Nie spowoduje zerwania twardych linków). Używanie sed -i
zgodnie z propozycją w wielu rozwiązaniach tego nie zrobi. IOW, po prostu rób to, co robisz.
mv
zamiastcat
irm
. Dlaczego w ogóle tego używaszcat
? Dlaczego nie używaćcp
?