我想根据记录的第5个字段按降序对标签限制文件进行排序。
我试过
sort -r -k5n filename
但它不起作用。
答案 0 :(得分:47)
附加到n
的{{1}}选项的存在会导致该字段忽略全局-k5
选项。您必须在同一级别(全局或本地)指定-r
和n
。
r
或
sort -t $'\t' -k5,5rn
答案 1 :(得分:13)
如果您只想在第5个字段中对 进行排序,请使用-k5,5
。
另外,使用-t
命令行开关指定tab
的分隔符。试试这个:
sort -k5,5 -r -n -t \t filename
或如果以上内容不起作用(使用tab
):
sort -k5,5 -r -n -t $'\t' filename
-t, - field-separator = SEP 使用SEP代替非空白到空白转换
最后,这个问题Unix Sort with Tab Delimiter可能会有所帮助。
答案 2 :(得分:1)
按大小按升序列出文件。
find ./ -size +1000M -exec ls -tlrh {} \; |awk -F" " '{print $5,$9}' | sort -n\