日期:2014-05-16  浏览次数:20579 次

leeboy的linux学习十

38、sort实例详解

    1、sort -t: -r sorttext:按照“:”为分隔符,依照第一个域分类,-r表示逆序。

    2、sort -t':' -k2 sorttext:-k2表示按照第二于域进行排序

    3、sort -t: -k3n -k4 sorttext:-k3n表示依照第三域按照数值排序;-k4表示按照字符排序,即一个一个字符比较。如果数字按照字符比较:比如10和2比较,10将小于2,按照第一位比较。

    4、sort -t: -k3.2,3.2n -k4 sorttext:-k3.2,3.2n表示按照第三个域中的第二个字符进行比较,“,”表示范围。

    5、sort -u -k3n sorttext:-u表示唯一,将文件中的相同行删除

    6、sort -t: -k3n sorttext | tail -1:显示倒数第一行

    7、sort -t: -k3n sorttext | tail -1:显示正数第一行

    8、sort -t: -k3n -u sorttext | awk -F: '{print $3}':按照第三列唯一排列,并输出。

    9、sort -c sorttext:判断是否排序。

    10、sort -m sorttext sorttext2:将文件合并。默认按照第一个字符比较,找到比要插入文件第一行第一个字符大的,将文件插入到该行之前。可以用-k来控制插入的位置。

39、uniq实例详解:uniq的重复和sort –u不同,在uniq中只有“连续重复”的行才算重复。

    1 、uniq -c uniqtext:-c表示输出重复行个数。

    2、uniq -f2 uniqtext:忽略前两个域进行比较

    说明:

    -u 只显示不重复行。

-d 只显示有重复数据行,每种重复行只显示其中一行

-c 打印每一重复行出现次数。

-f n为数字,前n个域被忽略。

40、join文件连接实例:(必须是排序完成的文件)类似于sql中的左右连接

    (注:1-4例中的两个文件的第一个域为关键域)

    1、join jointown joinname:将文件依照第一域中相同的连接(类似于内连接)