我试过了sort -n test.text > test.txt
。但是,这给我留下了一个空文本文件。这里发生了什么,我该怎么做才能解决这个问题?
答案 0 :(得分:1)
排序不会对文件进行就地排序。它会输出一个已排序的副本。
您需要sort -n -k 4 out.txt > sorted-out.txt
。
编辑:要获得所需的订单,您必须使用反向读取的数字对文件进行排序。这样做:
cut -d' ' -f4 out.txt | rev | paste - out.txt | sort -k1 -n | cut -f2- > sorted-out.txt
更多学习 -
sort -nk4 file
-n用于数字排序
-k用于提供密钥
或添加-r选项进行反向排序
sort -nrk4 file
答案 1 :(得分:0)
这是因为您正在阅读和写入同一个文件。你不能这样做。您可以尝试使用临时文件,mktemp
甚至是:
sort -n test.text > test1.txt
mv test1.txt test
对于sort
,您还可以执行以下操作:
sort -n test.text -o test.text