如何就地对文件进行sorting

当我们使用sort file命令,文件以sorting的方式显示其内容如果我不想得到任何types的输出,但是sorting的文件?

您可以使用文件redirectredirectsorting的输出:

 sort input-file > output_file 

或者,您可以使用sorting的-o选项来指示相同的input和输出文件:

 sort file -o file 

注意:一个常见的错误是尝试将输出redirect到相同的input文件(例如sort file > file )。 当shell正在执行redirect(不是sorting(1)程序),input文件(也就是输出)将在给sorting(1)程序读取机会之前被删除。

sort命令默认将sorting操作的结果打印到标准输出。 为了实现“就地”sorting,您可以这样做:

 sort -o file file 

这将使用sorting的输出覆盖inputfile 。 用于指定输出的-o开关由POSIX定义 ,所以应在所有版本的sort

-o指定要使用的输出文件的名称,而不是标准输出。 该文件可以与其中一个input文件相同。

如果你不幸有一个没有-o开关的sort版本( Luis确保它存在),你可以通过标准的方式实现“就地”编辑:

 sort file > tmp && mv tmp file