• [shell基础]——join命令


    测试文本内容

    # cat -n name1.txt 
         1	name1 alvin1
         2	name2 alvin2
         3	name3 alvin3
         4	name4 alvin4
    # cat -n name2.txt 
         1	name1 100
         2	name2 101
         3	name3 102
         4	cccccccccccccccc
    

    (1) join

    显示匹配的行,并将值合并(ccc和name4不匹配所以不显示)
    # join name1.txt name2.txt
    name1 alvin1 100
    name2 alvin2 101
    name3 alvin3 102
    


    (2) -a

    用第1个文件的内容去匹配,若匹配则显示匹配的行,并合并其值;不匹配的行也显示,但其值为空
    # join -a1 name1.txt name2.txt
    name1 alvin1 100
    name2 alvin2 101
    name3 alvin3 102
    name4 alvin4
    
    用第2个文件的内容去匹配,若匹配则显示匹配的行,并合并其值;不匹配的行也显示,但其值为空
    # join -a2 name1.txt name2.txt
    name1 alvin1 100
    name2 alvin2 101
    name3 alvin3 102
    cccccccccccccccc
    
    两个文件同时匹配,若匹配则显示匹配的行,并合并其值;同时将所有不匹配的行也都显示出来
    # join -a1 name1.txt -a2 name2.txt
    name1 alvin1 100
    name2 alvin2 101
    name3 alvin3 102
    cccccccccccccccc
    name4 alvin4
    

     
    (3) -o

    对于匹配的行,输出"第1个文件的第2部分,第2个文件的第2部分"的部分,
    # join -o 1.2 2.2 name1.txt name2.txt
    alvin1 100
    alvin2 101
    alvin3 102
    
    # join -o 1.1 2.1 name1.txt name2.txt
    name1 name1
    name2 name2
    name3 name3
    
  • 相关阅读:
    C++格式化输入输出
    算法的时间复杂度和空间复杂度
    C++编程中const和#define的区别
    C#中结构体和类的区别
    SQL之删除触发器
    Windows添加和取消右键管理员权限
    SQL之trigger(触发器)
    SQL VIEW(视图)
    二分查找的实现
    C++中this指针
  • 原文地址:https://www.cnblogs.com/snsdzjlz320/p/5693954.html
Copyright © 2020-2023  润新知