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/
    
  • 相关阅读:
    oracle数据导出以及导入
    远程修改VMware ESXi服务器的密码(SSH)
    正确的姿势解决IE弹出证书错误页面
    win32.gui.api.con(前置,鼠标点击,发送数据的Dome)
    【转】python win32api win32gui win32con 简单操作教程(窗口句柄 发送消息 常用方法 键盘输入)
    autoit获取ie浏览器简单操作网页(GUI小工具)
    cmd命令行安装,删除Windows证书(certgmr的简单使用)
    windows安装tensorflow简单直接的方法(win10+pycharm+tensorflow-gpu1.7+cuda9.1+cudnn7.1)
    selenium获取新页面标签页(只弹出一个新页面的切换)
    selenium在页面中多个fream的定位
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/14188167.html
Copyright © 2011-2022 走看看