sort 的-u 参数总结
sort这个命令很实用,用来排序很方便,但是因自己有用错该参数的情况,现总结记录下来。
有个源文件有2个字段的内容:a.txt
123 333
234 333
456 444
345 444
457 222
146 111
... .....
当只想按第2个字段数字排序时,第一遍使用以下命令得到奇怪结果。
sort -u -n -k2 a.txt
本来以为-u参数用来把文件中,2个字段加一起都一样的行进行去重,但结果却不是那样。发现还把第2个字段相同的也去掉了,只保留了第2个字段一样的行里的其中一行。
后面研究发现,当指定了排序行后,-u就只作用于该行了。如果想达到之前的效果,需要把默认排序的第1个字段也显示标出来。
sort -u -kn2 -kn1 a.txt