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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 按两个行为不正确的字段排序_Bash_Sorting_Csv_Gnu_Delimiter - Fatal编程技术网

Bash 按两个行为不正确的字段排序

Bash 按两个行为不正确的字段排序,bash,sorting,csv,gnu,delimiter,Bash,Sorting,Csv,Gnu,Delimiter,首先,我已经读过关于区域设置对排序的影响,我相信我的错误不会受到这些影响 我正在尝试按格式对数据进行排序 8hjk.apple 5ykh.orange 6faq.pear 首先是第二个字段(水果),然后是第一个字段的字母。我做了很多尝试,其中大部分都是按果实排序,但不是按第一块田地排序 sort -t "." -k 2,2 -k1.2,1.3 我检查过的所有东西都告诉我这是一种方法,但它仍然不起作用。试着这样做 sort -t. -k2,2 -k1,1 < file.txt s

首先,我已经读过关于区域设置对排序的影响,我相信我的错误不会受到这些影响

我正在尝试按格式对数据进行排序

8hjk.apple
5ykh.orange
6faq.pear
首先是第二个字段(水果),然后是第一个字段的字母。我做了很多尝试,其中大部分都是按果实排序,但不是按第一块田地排序

sort -t "." -k 2,2  -k1.2,1.3  
我检查过的所有东西都告诉我这是一种方法,但它仍然不起作用。

试着这样做

sort -t. -k2,2 -k1,1 < file.txt
sort-t-k2,2-k1,1

其中,
-k2,2
表示使用从#2到#2的字段,即仅使用第二个字段。

您的命令工作,只是没有为其提供足够的输入以确保其工作。更多数据:

sort -t. -k2,2 -k1.2,1.4  <<END
1ykh.orange
2ded.apple
3mno.orange
4bcd.apple
5faq.pear
6mnk.orange
END

谢谢你的回复!我试过了,但它还是不想表现!这样做会导致它按第三个字段进行排序,如。是一个重要的分隔符。@Aiden,您介意再试一次吗。编辑了答案。我没有办法测试它,但据我所知,它应该可以正常工作。@Aiden,真奇怪!你确定没有前导空格吗?@Rahul。。。肯定!为了安全起见,我也试过用-b运行它。稍后我必须在我的云工作区中尝试。。。可能是系统错误。谢谢你的帮助!我真的很感谢你的时间!这对我不起作用:(这里是一个输出示例
1A27.vegfr2_诱饵*2334-10 1CX2.vegfr2_诱饵*2334-3.8 2JEY.vegfr2_诱饵*2334-5.8 1HWK.vegfr2_诱饵*2334-6.7 1TGM.vegfr2_诱饵*2334-6.5 1VRT.vegfr2_诱饵*2334-6.2 1B59.vegfr2_诱饵*2334-7.1 2F16.2诱饵*2334-7.9Ø诱饵*3;-7 7;诱饵*0.vegfr2_decoys*2334-7.2
很抱歉,我无法正确地获取换行符。但是它按第二个字段进行了很好的排序(有数千个截断的结果),但是第一个字段的值似乎是随机的。您有什么版本的
排序
4bcd.apple
2ded.apple
6mnk.orange
3mno.orange
1ykh.orange
5faq.pear