コマンド出力でファイルを上書きしようとしていますが、出力がある場合のみです。つまり、私はたいてい
mycommand > myfile
しかし、これがmyfile空のデータで上書きされる場合は、古いバージョンのを保持したいと思いmyfileます。私は何かをifne使うことが可能であるべきだと思いました、ラ
mycommand | ifne (cat > myfile)
しかし、それはうまくいきません...
間接的なアプローチ
mycommand | tee mytempfile | ifne mv mytempfile myfile
動作しますが、その一時ファイルの使用は不適切だと考えています。
Q:最初のアイデアが機能しないのはなぜですか?仕事にできますか?または、私の元の問題に対して別の素晴らしい、おそらく完全に異なる解決策がありますか?
5
「別のファイルにリダイレクトし、そのファイルのサイズをチェックし、場合によっては名前を変更する」ことは、私にはかなり簡単に思えます。一時ファイルを使用しないのはなぜですか?
—
ジェフシャラー