命令格式:

sort [options] [file]

example:1 普通的sort,默认是以ascll码的顺序[liuliancao@liuliancao exp]$ cat t5.txt b ac d qAan not be and this C[liuliancao@liuliancao exp]$ sort t5.txt Aan not be and this b ac d qC2 数字排序[liuliancao@liuliancao exp]$ cat t6.txt 90 liu89.8 lian100 cao[liuliancao@liuliancao exp]$ sort t6.txt100 cao89.8 lian90 liu[liuliancao@liuliancao exp]$ sort -n t6.txt 89.8 lian90 liu100 cao结论:-n用于数字排序,number3 指定key排序,-k指定第几列,-t指定分隔符号[liuliancao@liuliancao exp]$ cat t7.txtliu 89.8lian 28cao 1999[liuliancao@liuliancao exp]$ sort -n -k 2 t7.txt lian 28liu 89.8cao 1999[liuliancao@liuliancao exp]$ cat t7.txtliu:89.8lian:28cao:1999[liuliancao@liuliancao exp]$ sort -n -k 2 -t: t7.txt lian:28liu:89.8cao:19994 随机排序  -R[liuliancao@liuliancao exp]$ sort -R t8.txt liyanwulutianzhang[liuliancao@liuliancao exp]$ sort -R t8.txt lizhangyanwulutian5 忽略大小写 -f[liuliancao@liuliancao exp]$ sort -f t9.txt AAabBBbbCC[liuliancao@liuliancao exp]$ sort  t9.txt AAabbbBBCC结论:-f的BB在bb前面,说明在相同的情况下,优先是ascll码的反序6 反序 -r reverse的意思[liuliancao@liuliancao exp]$ sort t5.txtAan not be and this b ac d qC[liuliancao@liuliancao exp]$ sort -r t5.txt Cb ac d qand this Aan not be结论:-r可以反转结果7 输出到文件[liuliancao@liuliancao exp]$ sort -r t6.txt  -o liuliancao.txt[liuliancao@liuliancao exp]$ cat liuliancao.txt 90 liu89.8 lian100 cao结论:-o输出到文件8 唯一的输出[liuliancao@liuliancao exp]$ cat t9.txt liuliancaoliuliancaolqxlqxliuliancaolqxliuliancaogooglebaidu[liuliancao@liuliancao exp]$ sort -u t9.txt baidugoogleliuliancaolqx结论:-u 使用uniq可以避免冗余输出

sort配合uniq使用

#去掉重复值[liuliancao@liuliancao exp]$ sort t9.txt | uniq baidugoogleliuliancaolqx#只打印唯一unique行[liuliancao@liuliancao exp]$ sort t9.txt | uniq -ubaidugoogle#只打印重复duplicate行[liuliancao@liuliancao exp]$ sort t9.txt | uniq -dliuliancaolqx#对出现的次数进行计数[liuliancao@liuliancao exp]$ sort t9.txt | uniq -c      1 baidu      1 google      4 liuliancao      3 lqx