【发布时间】:2015-03-16 18:30:42
【问题描述】:
覆盖文件的标准程序通常如下:
awk '{print $2*3}' file > tmp file
tmpFile > file
但是,有时这会带来一些麻烦,因为必须在临时文件不再使用后将其删除。
那么,为什么不能通过以下方式执行此操作(不需要临时文件):
awk '{print $2*3}' file > file
我问的原因是因为我知道可以这样附加到文件:
awk '{print $2*3}' file >> file
所以如果附加一个文件,使用>> 如上所示,工作正常,为什么不能以同样的方式覆盖一个文件。为什么这两个命令如此不同?
此外,是否存在绕过临时文件需求的方法(可能以类似于第二个摘录的方式),还是第一个摘录是唯一的方法?
注意:awk 命令无关紧要,可以用任何其他命令代替
【问题讨论】:
-
见this
-
@tripleee 你说得对,它是重复的,但是当我提出问题时我不知道。无论如何,感谢您的反对票。我也标记了它。