Unix 排序一些查找结果
我需要在HP-UX上对查找的输出进行排序。我得到了以下结果: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”的大小从来都不一样,我需
/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/
这可以在没有任何选项的情况下进行排序;只需在前缀和后缀之间添加足够的空格,并将后缀向右对齐即可