Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何根据第三列对包含3列的行进行排序';s的价值观?按理说,巴什_Bash_Shell_Sorting - Fatal编程技术网

Bash 如何根据第三列对包含3列的行进行排序';s的价值观?按理说,巴什

Bash 如何根据第三列对包含3列的行进行排序';s的价值观?按理说,巴什,bash,shell,sorting,Bash,Shell,Sorting,我有一个以制表符分隔的文件,其中包含以下内容: 1 C45874154 22.8221295411 2 C56931350 -121.889340344 3 C22240035 NON 4 C12541514 -232.106357553 5 C40783672 87.7466539197 如何根据第三列中的值(从第三列中的最低值到最高值)对包含3列的行进行排序 我知道如何仅对一列进行排序: sort -n -

我有一个以制表符分隔的文件,其中包含以下内容:

1   C45874154  22.8221295411     
2   C56931350  -121.889340344   
3   C22240035  NON              
4   C12541514  -232.106357553   
5   C40783672  87.7466539197  
如何根据第三列中的值(从第三列中的最低值到最高值)对包含3列的行进行排序

我知道如何仅对一列进行排序:

sort -n -k 3 file
但我不知道如何将3列组合在一起以获得如下输出:

4  C12541514  -232.106357553
2  C56931350  -121.889340344
1  C45874154  22.8221295411
5  C40783672  87.7466539197
3  C22240035  NON

提前感谢,

尝试
排序-nk3-k2,1 aaa
(我将您的示例文本命名为
aaa
)。也就是说,首先按第三列进行数字排序。然后,按字母顺序对第二列和第一列进行排序。有道理吗

$ cat -v aaa
1   C45874154  22.8221295411
2   C56931350  -121.889340344
3   C22240035  NON
4   C12541514  -232.106357553
5   C40783672  87.7466539197

$ sort -nk3 -k2,1 aaa
4   C12541514  -232.106357553
2   C56931350  -121.889340344
3   C22240035  NON
1   C45874154  22.8221295411
5   C40783672  87.7466539197

“如何根据第三列中的值对第一列和第二列进行排序?”??这对我来说没有意义。如果我把表达式改成这样可能会更好:每行的第三列中都有值,我想根据第三列中的值从最低到最高对行进行排序。就像示例输出一样。它有意义吗?那么您知道的
sort
命令有什么问题吗?它只适用于一列!你需要一般的数字排序。使用
-g
选项进行
排序
。是的,这很有意义。但问题是,我如何添加底部值为“NON”的行,因为它不是数值?太好了,很高兴知道!以防万一,我没有意识到
g
标志,所以我想到了类似的东西(根本不优雅)
sort-nk3aaa | grep-vnon | sort-k2,1;grep NON-aaa | sort-k2,1
,它提供了您要查找的确切输出。。。如果您的
sort
实现没有刚刚在AIX中测试过的
g
标志,并且这里没有
g
标志,那么这将非常有用…@user3576287:sort
sort-g-k3文件是否将
放在顶部而不是底部?