leeboy的linux学习十sort实例

来源:互联网 发布:高顿网校cpa价格知乎 编辑:程序博客网 时间:2024/06/15 14:20

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:将文件依照第一域中相同的连接(类似于内连接)

    2、join -a1 jointown joinname:显示连接结果及jointown中多余的行(类似左连接)

    3、join -a2 jointown joinname:显示连接结果及jointown中多余的行(类似右连接)

    4、join -o 1.1,2.3 jointown joinname:文件选择性连接,1.1,2.3:第一个文件的     第一个域和第二个文件的第三个域。

    5、join -j1 1 -j2 4 jointown joinname:指定第一个文件的第一个域和第二个文件的第四个域为关建域,进行连接。

41、cut:用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。

    1、cut -d' ' -f1,3 jointown:剪切域1和3,文件域分隔符为空格。

    2、cut -c8-11 jointown:剪切具体的字符,从第八个字符到第十一个字符。

42、paste:将两个文件粘贴

    1、paste joinname jointown:将jointown粘贴到joinname,输出。

    2、paste -d: joinname jointown:设置粘贴处域分隔符。

    3、paste -s joinname jointown:将每个文件合并成一行。

    4、ls | paste -d" " - - - -:通过管道,将文件名一行4个打印。(很特殊)

43、split -2 splittext:将文件每两行分割到不同的文件中。

原创粉丝点击