Tôi đang cố gắng ghi đè một tập tin với đầu ra lệnh, nhưng chỉ khi có bất kỳ đầu ra. Đó là, tôi thường muốn
mycommand > myfile
nhưng nếu điều này sẽ ghi đè lên myfile
dữ liệu trống, tôi muốn giữ lại phiên bản cũ của myfile
. Tôi nghĩ rằng một cái gì đó sử dụng ifne
nên có thể, một la
mycommand | ifne (cat > myfile)
nhưng nó không hoạt động ...
Một cách tiếp cận gián tiếp
mycommand | tee mytempfile | ifne mv mytempfile myfile
hoạt động, nhưng tôi coi việc sử dụng tập tin tạm thời đó là không phù hợp.
Q: Tại sao ý tưởng đầu tiên của tôi không hoạt động? Nó có thể được thực hiện công việc? Hoặc có một giải pháp tốt đẹp và có lẽ hoàn toàn khác cho vấn đề ban đầu của tôi?