[shell基础]——join命令

时间:2021-01-02 13:58:50

测试文本内容

# 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

[shell基础]——join命令的更多相关文章

  1. shell基础--test命令的使用

    test :用于文件类型检查和变量比较 一.用途: 1.判断表达式 2.判断字符串 3.判断整数 4.判断文件 测试例子: (1).test [root@~_~ day5]# cat test.sh ...

  2. [shell基础]——find命令

    find命令选项 -name 按照文件名查找 -type 查找某一类型的文件(b 代表设备块:d 目录:c 字符设备文件:l 符号(软)链接文件:f 普通文件) -size 查找文件长度或者大小 -p ...

  3. [shell基础]——sed命令

    关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...

  4. [shell基础]——read命令

    read命令:在shell中主要用于读取输入.变量.文本 1. 接受标准输入(键盘)的输入,并将输入的数据赋值给设置的变量      [按回车键——表示输入完毕]      [若输入的数据多于设置的变 ...

  5. [shell基础]——echo命令

    echo命令:在shell中主要用于输出 1. -n     不换行的显示结果(默认是换行的) 2. -e " "  支持双引号中使用一些特殊字符 常用的特殊字符有 \a 发出警告 ...

  6. [shell基础]——sort命令

    sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项      -c 测试文件是否已经被排序 -r  逆向排序      -n 按照数字数值大小排序 -t  指定分割 ...

  7. [shell基础]——uniq命令

    uniq命令常见选项      去除重复行      -u  显示不重复的行      -d  显示有重复的行      -c  打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...

  8. [shell基础]——cut命令

    cut命令常见选项

  9. shell基础--cat命令的使用

    一.cat的常用用法 1.总结 2.实验 (1).非交互式编辑 [root@~_~ day5]# cat > cattest.sh <<STOP > hello > ST ...

随机推荐

  1. elk安装&lpar;这个是初级的可以把这个套件安上&rpar;

    http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html ELK其实并不是一款软件,而是一整套解决方案,是三个开源软件Elastics ...

  2. 在CentOS 7中安装Jetty服务器

    Jetty 是一款纯Java的HTTP (Web) 服务器和Java Servlet容器. 通常在更大的网络框架中,Jetty经常用于设备间的通信,而其他Web服务器通常给"人类" ...

  3. hibernate坑边闲话3

    could not initialize proxy - no Session] with root cause org.hibernate.LazyInitializationException: ...

  4. C&plus;&plus; cout格式化输出(转)

    C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...

  5. &lbrack;树链剖分&rsqb;hihocoder1883

    描述 有一个无向图,有n个点,m1条第一类边和m2条第二类边.第一类边有边权,第二类边无边权.请为第二类的每条边定义一个边权,使得第二类边可能全部出现在该无向图的最小生成树上,同时要求第二类边的边权总 ...

  6. effective c&plus;&plus; 笔记 &lpar;1-3&rpar;

    // //  effective c++.cpp //  笔记 // //  Created by fam on 15/3/23. // // //-------------------------- ...

  7. django URLconf调度程序

    路由的编写方式是Django2.0和1.11最大的区别所在,Django官方迫于压力和同行的影响,不得不将原来的正则匹配表达式,改为更加简单的path表达式,但依然通过re_path()方法保持对1. ...

  8. hdu 5411 CRB and Puzzle &lpar;矩阵高速幂优化dp&rpar;

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5411 题意:按题目转化的意思是,给定N和M,再给出一些边(u,v)表示u和v是连通的,问走0,1,2... ...

  9. ios 点击Home问题

    应用可以在后台运行或者挂起,该场景的状态跃迁过程见图2-22,共经历3个阶段4个状态:Active → Inactive → Background→Suspended. q   在Active→Ina ...

  10. &lbrack;2017BUAA软工&rsqb;第3次个人作业

    软工第3次个人作业--案例分析 一. 调研,评测 1.软件的bug(至少两个,不少于40字) 测试软件: 必应词典移动端 测试平台:iPhone 6 bug1 对于翻译功能中的图片翻译功能,必应词典是 ...