Sto cercando di sovrascrivere un file con l'output del comando, ma solo se esiste un output. Cioè, di solito voglio
mycommand > myfile
ma se questo dovesse sovrascrivere myfilecon dati vuoti, desidero conservare la vecchia versione di myfile. Ho pensato che qualcosa usando ifnepotesse essere possibile, a la
mycommand | ifne (cat > myfile)
ma questo non funziona ...
Un approccio indiretto
mycommand | tee mytempfile | ifne mv mytempfile myfile
funziona, ma considero l'uso di quel file temporaneo non elegante.
D: Perché la mia prima idea non funziona? Può essere fatto funzionare? O c'è un'altra soluzione carina e forse completamente diversa per il mio problema originale?