不使用临时文件对文件进行排序
我想在 unix shell 中对文件进行排序。我可以将结果重定向到输入文件中吗?
例如,如果我的输入文件是 foo 那么我可以使用
sort foo > foo
或者我应该使用:
sort -o foo foo
以上两者之间有什么区别?
谢谢,
I want to sort a file in unix shell. Can I redirect my result into my input file?
e.g. if my input file is foo then can I use
sort foo > foo
or I should use:
sort -o foo foo
What would be difference between above two?
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
从
man
页面:排序 foo > foo
表示将输出写入标准输出,该标准输出被重定向到输出文件。在重定向之前,>
将截断/覆盖输出文件(如果存在)。由于输入和输出文件相同,因此您将丢失输入文件信息。Use
From the
man
page:sort foo > foo
means writing output to the standard output which is redirected to the output file. Before redirecting,>
will truncate/overwrite the output file if one is exist. Since both the input and output files are same, you will lose the input file information.