测试文本内容

# 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. c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作

    功能说明: 我们有两个TREEVIEW控件——TREEVIEW1,TREEVIEW2.Treeview1内有三个NODE,Treeview2内有三个NODE.将Treeview1内的NODE拖动到Tr ...

  2. 021ARM处理器工作模式

    1.User模式:usr,普通应用程序运行的模式: 2.FIQ模式:fiq,快速中断模式,当一个程序正在运行时,突然产生一个中断,而且这种中断属于快速中断,那么将进入快速中断模式下运行: 3.IRQ模 ...

  3. 二十、ValueStack的常用方法

    二十.ValueStack的常用方法 void set(String key,Object value):先获取根栈栈顶的Map,如果不存在,压入一个新的Map public String execu ...

  4. CentOS6.5_python2.7.3下virt-manager无法启动

    配置virt-manager: 1.安装virt-manager, libvirt, qemu-kvm 2.配置libvirtd开机启动: chkconfig libvirtd on   #取消开机启 ...

  5. ChainOfResponsibility

    #include <iostream> using namespace std; class Chain { public: bool Handle() { return false; } ...

  6. 空间session失效的解决方法

    今天访问自己的网站的时候(by thinkphp),突然发现身份验证失效了,Session无法跨页,而且登陆的时候总是提示验证码错误(验证码也是通过Session传递的),才意识到可能是Session ...

  7. Android中的显示单位

    px (pixels)像素 一般HVGA代表320x480像素,这个用的比较多. dip或dp (device independent pixels)设备独立像素 这个和设备硬件有关,一般为了支持WV ...

  8. 搭通自己的电脑与GitHub的传输通道

    一.远程仓库怎么玩 1. 自己搭建一个运行Git的服务器 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,但肯定有一台机器有着最原始的版本库,然后别的机器来克隆这个原始版本库,这 ...

  9. Android开发之Source无法覆写public void onClick(View v)

    初学Android开发,在为一个按钮[该按钮继承OnClickListener()]写监听时,发现无法在Source中引入public void onClick(View v),当时非常纳闷,平常情况 ...

  10. C# 代码重启windows服务

    ServiceController service = new ServiceController("EnergyRecordService"); protected void b ...