当您尝试使用
对文件进行排序时sort afile > afile
你默默地以afile
为空文件结束。
为什么?我希望错误或原始内容,但排序。 我没有测试过其他炮弹。
为执行预期行为的单行提供支持。
PS bash redirect input from file back into same file根本不解决“为什么”。我知道我可以使用临时文件绕过它。我对发生的事情感兴趣。对于单线部分的支持是寻求更短路径的事后想法。
答案 0 :(得分:7)
sort afile > afile
会发生这种情况:
由于文件方向操作afile
> afile
shell使用一个参数sort
执行afile
程序,并将新进程的stdout绑定到步骤1中打开的文件描述符。
sort程序打开作为第一个参数给出的文件,由于步骤1中发生截断,该文件为空。
您可以使用sort afile -o afile