我有一个文件看起来像:
??:??:?? 未知供应商 100
00:11:d9 TiVo 951
cc:3a:61 三星电机有限公司 259
84:1b:5e 网件 82
74:e2:f5 苹果 829
字段由制表符分隔。我应该使用什么组合来将此文件从最高字节数排序到最低字节数。字节数是文件的最后一个字段。我曾尝试使用:
/usr/bin/sort -nk3 文件名.txt
但它不起作用。
从手册页:
-t, --field-separator=SEP
use SEP instead of non-blank to blank transition
所以你要
sort -t $'\t' -nk3 filename.txt
您可以使用awk
获取最后一个字段并在开头打印它,然后使用它来执行sort
。-r
选项使用相反的顺序,意思是从高到低。
awk '{print $NF, $0}' filename.txt | sort -nk1r | awk '{$1="";print $0}'