zoukankan      html  css  js  c++  java
  • join命令

    join命令

    join命令用于将两个文件中,指定栏位内容相同的行连接起来。其首先找出两个文件中指定栏位内容相同的行,并加以合并,再输出到标准输出设备。

    语法

    join [OPTION]... FILE1 FILE2
    

    参数

    • -a FILENUM: 从FILENUM打印不成对的行,其中FILENUM12,对应于FILE1FILE2
    • -e EMPTY: 将缺少的输入字段替换为空。
    • -i, --ignore-case: 比较字段时忽略大小写的差异。
    • -j FIELD: 相当于-1 FIELD -2 FIELD
    • -o FORMAT: 构造输出线时遵守FORMAT
    • -t CHAR: 使用CHAR作为输入和输出字段分隔符。
    • -v FILENUM: 类似于-a FILENUM,但不连接输出行。
    • -1 FIELD: 加入文件1的这个FIELD
    • -2 FIELD: 加入文件2的这个FIELD
    • --check-order: 检查输入是否正确排序,即使所有输入行都可以配对。
    • --nocheck-order: 不要检查输入是否正确排序。
    • --header: 将每个文件的第一行视为字段标题,无需尝试将它们配对即可打印它们。
    • --help: 显示帮助信息。
    • --version: 显示版本信息。

    示例

    file1.txtfile2.txt文件内容如下:

    # file1.txt
    1 AAYUSH
    2 APAAR
    3 HEMANT
    4 KARTIK
    5 TIM
    
    # file2.txt
    1 101
    2 102
    3 103
    4 104
    

    使用join命令合并文件,为了合并两个文件,文件必须具有一些公共字段,此时两个文件中的公共字段均带有编号1、2...

    join file1.txt file2.txt
    # 1 AAYUSH 101
    # 2 APAAR 102
    # 3 HEMANT 103
    # 4 KARTIK 104
    

    使用-a选项打印FILE1中已成对的行并链接以及不成对的行。

    join file1.txt file2.txt -a 1
    # 1 AAYUSH 101
    # 2 APAAR 102
    # 3 HEMANT 103
    # 4 KARTIK 104
    # 5 TIM
    
    

    使用-v选项打印FILE1中不成对的行。

    join file1.txt file2.txt -v 1
    # 5 TIM
    

    join会在第一个公共字段上组合文件行,该字段是默认值。但是这两个文件中的公共值不一定总是第一个列,所以join可以使用-1, -2指定公共值位置。-1-2表示第一个和第二个文件,这些选项需要一个数字参数,该参数引用相应文件的连接字段。

    `file1.txt`与`file2.txt`文件内容如下:
    # file1.txt
    AAYUSH 1 
    APAAR 2
    HEMANT 3
    KARTIK 4
    TIM 5
    
    # file2.txt
    101 1
    102 2
    103 3
    104 4
    
    join -1 2 -2 2 file1.txt file2.txt
    # 1 AAYUSH  101
    # 2 APAAR 102
    # 3 HEMANT 103
    # 4 KARTIK 104
    

    对于上面的示例,我们直接使用-j参数也可以实现。

    join -j 2 file1.txt file2.txt
    # 1 AAYUSH  101
    # 2 APAAR 102
    # 3 HEMANT 103
    # 4 KARTIK 104
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.computerhope.com/unix/ujoin.htm
    https://www.runoob.com/linux/linux-comm-join.html
    https://www.geeksforgeeks.org/join-command-linux/
    
  • 相关阅读:
    Constants and Variables
    随想
    C#基础篇之语言和框架介绍
    Python基础19 实例方法 类方法 静态方法 私有变量 私有方法 属性
    Python基础18 实例变量 类变量 构造方法
    Python基础17 嵌套函数 函数类型和Lambda表达式 三大基础函数 filter() map() reduce()
    Python基础16 函数返回值 作用区域 生成器
    Python基础11 List插入,删除,替换和其他常用方法 insert() remove() pop() reverse() copy() clear() index() count()
    Python基础15 函数的定义 使用关键字参数调用 参数默认值 可变参数
    Python基础14 字典的创建修改访问和遍历 popitem() keys() values() items()
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/14188167.html
Copyright © 2011-2022 走看看