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
Unix 排序一些查找结果_Unix_Sorting_Find - Fatal编程技术网

Unix 排序一些查找结果

Unix 排序一些查找结果,unix,sorting,find,Unix,Sorting,Find,我需要在HP-UX上对查找的输出进行排序。我得到了以下结果: /path/to/folder/one/blabla_110303121212.x /path/to/folder/two/otherblabla_1102124302.x etc. 使用sort-t“\”-k5,我成功地从最后一个/开始排序,但现在我希望能够从数字套装上的最后一个下划线开始排序-t不能接受两个分隔符(唉),-n不起作用(不知道为什么),我不能给出-k第二个参数的确切数字,因为“blabla”的大小从来都不一样,我需

我需要在HP-UX上对查找的输出进行排序。我得到了以下结果:

/path/to/folder/one/blabla_110303121212.x
/path/to/folder/two/otherblabla_1102124302.x
etc.
使用sort-t“\”-k5,我成功地从最后一个/开始排序,但现在我希望能够从数字套装上的最后一个下划线开始排序-t不能接受两个分隔符(唉),-n不起作用(不知道为什么),我不能给出-k第二个参数的确切数字,因为“blabla”的大小从来都不一样,我需要保留这些(无可否认的恼人)路径

有人知道吗?提前谢谢

排序(1)
通常是稳定的,这意味着如果元素具有相同的排序键,则不会干扰元素的顺序

因此,解决方案是对输出进行多次排序;从下划线后的部分开始,然后按名称排序

另一种解决方案是将文件剪切成列,更改列的顺序,对这个中间文件进行排序,然后将这些列合并回原始形式

使用
awk(1)
,您可以创建

  blabla_                     110303121212.x /path/to/folder/one/
  otherblabla_                  1102124302.x /path/to/folder/two/
这可以在没有任何选项的情况下进行排序;只需在前缀和后缀之间添加足够的空格,并将后缀向右对齐即可