给定一个文件 foo.txt:
1
2
3
4
5
假设我们想将其更改为包含:
1
2
3
为什么head -n3 foo.txt > foo.txt
foo.txt 为空?
答案1
发生这种情况是因为>
重定向发生在head
程序启动之前。>
如果文件存在,重定向会截断该文件,因此当读取head
文件时它已经是空的。
给定一个文件 foo.txt:
1
2
3
4
5
假设我们想将其更改为包含:
1
2
3
为什么head -n3 foo.txt > foo.txt
foo.txt 为空?
发生这种情况是因为>
重定向发生在head
程序启动之前。>
如果文件存在,重定向会截断该文件,因此当读取head
文件时它已经是空的。