2012-08-14 80 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\