我有一个包含~300k行的文本文件.每行都有不同数量的逗号分隔字段,最后一个字段保证数字.我想通过最后一个数字字段对文件进行排序.我做不到:
sort -t, -n -k 2 file.in > file.out
Run Code Online (Sandbox Code Playgroud)
因为每行中的字段数不是恒定的.我觉得sed,awk也许是答案,但不确定如何.例如:
awk -F, '{print $NF}' file.in
Run Code Online (Sandbox Code Playgroud)
给我最后一列值,但如何使用它来排序文件?
Fre*_*Foo 32
使用awk将数字键放在前面.$NF是当前记录的最后一个字段.分类.使用sed删除重复的密钥.
awk -F, '{ print $NF, $0 }' yourfile | sort -n -k1 | sed 's/^[0-9][0-9]* //'
Run Code Online (Sandbox Code Playgroud)