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
File 基于关键字字段对管道分隔文件进行排序_File_Sorting_Unix_Pipe_Delimited Text - Fatal编程技术网

File 基于关键字字段对管道分隔文件进行排序

File 基于关键字字段对管道分隔文件进行排序,file,sorting,unix,pipe,delimited-text,File,Sorting,Unix,Pipe,Delimited Text,我试图根据第二个字段对下面的文件进行排序,它应该只根据第二个字段进行排序,但在排序时会考虑剩余的字段。我希望它能维持源文件的秩序 我正在使用: sort -t '|' -k2,2 InputFile 输入文件: 1|2|3 1|1|1a 1|1|1v 1|1|1b 1|1|1a 1|1|1b 1|1|1v 1|2|3 1|1|1a 1|1|1v 1|1|1b 1|2|3 输出文件: 1|2|3 1|1|1a 1|1|1v 1|1|1b

我试图根据第二个字段对下面的文件进行排序,它应该只根据第二个字段进行排序,但在排序时会考虑剩余的字段。我希望它能维持源文件的秩序

我正在使用:

sort -t '|' -k2,2 InputFile
输入文件:

1|2|3  
1|1|1a  
1|1|1v  
1|1|1b 
1|1|1a  
1|1|1b  
1|1|1v  
1|2|3 
1|1|1a  
1|1|1v  
1|1|1b  
1|2|3 
输出文件:

1|2|3  
1|1|1a  
1|1|1v  
1|1|1b 
1|1|1a  
1|1|1b  
1|1|1v  
1|2|3 
1|1|1a  
1|1|1v  
1|1|1b  
1|2|3 
所需的输出文件:

1|2|3  
1|1|1a  
1|1|1v  
1|1|1b 
1|1|1a  
1|1|1b  
1|1|1v  
1|2|3 
1|1|1a  
1|1|1v  
1|1|1b  
1|2|3 
当我尝试使用
sort-s-t'|'-k2,2 InputFile
时,抛出以下错误:

排序:非法选项--s


你能输出排序--版本吗?嗨,你能告诉我如何检查版本吗?有命令吗?只需在命令行上运行上面的命令sort--version,然后查看它打印的内容。它打印:sort:非法选项--sort:非法选项--v sort:非法选项--e sort:非法选项--s用法:sort[-AbcCdfimnru][T目录][T字符][o文件][y[KB]][-z Recordsize][k Keydefinition]…[+Position1][-Position2]]…[File]…我想这是旧版本。我可以在另一个有cygwin终端的系统上使用-s。旧版本中是否有-s的替代方案?