2012-08-14 49 views
36

我想根据记录的第5个字段以降序排序制表符限制文件。unix sort降序

我试图

sort -r -k5n filename 

但没有奏效。

回答

11

如果您只想排序只有在第5场然后使用-k5,5。使用-t命令行开关将分隔符指定为tab。试试这个:

sort -k5,5 -r -n -t \t filename 

,或者如果上述方法无效(与tab)这样的:

sort -k5,5 -r -n -t $'\t' filename 

man page for sort状态:

-t,--field分离器= SEP 使用SEP代替非空白到空白转换

最后,这个SO问题Unix Sort with Tab Delimiter可能会有所帮助。

42

附加到-k5n选项的存在会导致该字段的全局-r选项被忽略。您必须在同一级别(全局或本地)指定nr

sort -t $'\t' -k5,5rn 

sort -rn -t $'\t' -k5,5 
+0

谢谢你。那么工作! – user1598776 2012-08-14 18:00:35

1

基于在asending订单大小列出文件。

find ./ -size +1000M -exec ls -tlrh {} \; |awk -F" " '{print $5,$9}' | sort -n\