我正在使用这个命令
sort -k1 -n source-g5.txt
将文件tmp-source-g5.txt (n行,2列)的内容按照第一列的数值排序。
当我运行这一行时,终端打印出所需的结果,但是当我试图将结果保存到同一个文件中时,
sort -k1 -n source-g5.txt > source-g5.txt
文件显示与之前没有区别。我做错了什么?
SOLVED
从这个线程中,事实证明,将sort的输出重定向到sort作为源读取的同一文件将无法工作,因为
shell正在进行重定向(不是sort(1)程序)和输入文件(也作为输出)将在之前擦除给sort(1)程序读取它的机会。
所以我把命令分成两个
sort -k1 -n source-g5.txt > tmp-source-g5.txt
mv tmp-source-g5.txt > source-g5.txt