【发布时间】:2014-01-31 23:47:44
【问题描述】:
重定向到用作输入的文件并替换文件而不是删除文件的正确方法是什么? 我想做类似的事情:
cat myfile > myfile
程序(即cat)读取文件然后重定向到文件的位置,因此在上面的示例中myfile 将保持不变。
我知道上面的例子会删除文件as explained here。
什么是正确的语法,所以文件将被替换而不是被删除?是否可以进行标准输出和重定向,或者程序是否应该处理打开新数据并将其写入文件?我想让我的程序将输出发送到标准输出,然后用户可以重定向或管道或其他任何东西。
顺便说一句,我不想>>(连接)。我希望左边的函数将“新”数据写入文件——替换文件内容。
也许更好的说法是我希望重定向的左侧在流式传输发生之前完全发生——这可能吗?我对 bash 有根本的误解吗?
【问题讨论】:
-
你的新文件的名称是什么?
-
@adrin,在上面的例子中'myfile'
-
我的意思是,如果不是“附加”数据,什么是“新”数据?