如何就地对文件进行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