linux下join命令的用法

功能说明:将两个文件中,指定栏位内容相同的行连接起来。

语  法:join [-i][-a<1或2>][-e<字符串>][-o<格式>] [-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help] [--version][文件1][文件2] 

补充说明:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。 

参  数: 

-a<1或2>   除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。 

-e<字符串>   若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。 

-i或--igore-case   比较栏位内容时,忽略大小写的差异。 

-o<格式>   按照指定的格式来显示结果。 

-t<字符>   使用栏位的分隔字符。 

-v<1或2>   跟-a相同,但是只显示文件中没有相同栏位的行。 

-1<栏位>   连接[文件1]指定的栏位。 

-2<栏位>   连接[文件2]指定的栏位。 

--help   显示帮助。 

--version   显示版本信息。

使用示例 示例一 内连接(忽略不匹配的行) 不指定任何参数的情况下使用join命令,就相当于数据库中的内连接,关键字不匹配的行不会输出。 [root@rhel55 linux]# cat month_cn.txt 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 十三月,故意的 [root@rhel55 linux]# cat month_en.txt January February March April May June July August September October November December MonthUnknown 注:注意两个文件的内容,中文版的多了十三月,英文版的多了14月,这纯粹是为了方便演示。 [root@rhel55 linux]# join month_cn.txt month_en.txt 一月 January 二月 February 三月 March 四月 April 五月 May 六月 June 七月 July 八月 August 九月 September 十月 October 十一月 November 十二月 December [root@rhel55 linux]# 示例二 左连接(又称左外连接,显示左边所有记录) 显示左边文件中的所有记录,右边文件中没有匹配的显示空白。 [root@rhel55 linux]# join -a1 month_cn.txt month_en.txt 一月 January 二月 February 三月 March 四月 April 五月 May 六月 June 七月 July 八月 August 九月 September 十月 October 十一月 November 十二月 December 十三月,故意的 [root@rhel55 linux]#

示例三 右连接(又称右外连接,显示右边所有记录) 显示右边文件中的所有记录,左边文件中没有匹配的显示空白。 [root@rhel55 linux]# join -a2 month_cn.txt month_en.txt 一月 January 二月 February 三月 March 四月 April 五月 May 六月 June 七月 July 八月 August 九月 September 十月 October 十一月 November 十二月 December MonthUnknown [root@rhel55 linux]#

示例四 全连接(又称全外连接,显示左边和右边所有记录) [root@rhel55 linux]# join -a1 -a2 month_cn.txt month_en.txt 一月 January 二月 February 三月 March 四月 April 五月 May 六月 June 七月 July 八月 August 九月 September 十月 October 十一月 November 十二月 December 十三月,故意的 MonthUnknown [root@rhel55 linux]#

示例五 指定输出字段 比如参数 -o 1.1 表示只输出第一个文件的第一个字段。 [root@rhel55 linux]# join -o 1.1 month_cn.txt month_en.txt 2 4 6 8 10 12 [root@rhel55 linux]# join -o 1.1 2.2 month_cn.txt month_en.txt January February March April May June July August September October November December [root@rhel55 linux]# join -o 1.1 2.2 1.2 month_cn.txt month_en.txt January 一月 February 二月 March 三月 April 四月 May 五月 June 六月 July 七月 August 八月 September 九月 October 十月 November 十一月 December 十二月 [root@rhel55 linux]# join -o 1.1 2.2 1.2 1.3 month_cn.txt month_en.txt <== 字段1.3并不存在 January 一月 February 二月 March 三月 April 四月 May 五月 June 六月 July 七月 August 八月 September 九月 October 十月 November 十一月 December 十二月 [root@rhel55 linux]#

示例六 指定分隔符 [root@rhel55 linux]# join -t ':' /etc/passwd /etc/shadow root:x:0:0:root:/root:/bin/bash:$1$K8WSIAfQ$9i1h6a4V1XeIn0lv.CT53/:14833:0:99999:7::: bin:x:1:1:bin:/bin:/sbin/nologin::14833:0:99999:7::: daemon:x:2:2:daemon:/sbin:/sbin/nologin::14833:0:99999:7::: adm:x:3:4:adm:/var/adm:/sbin/nologin::14833:0:99999:7::: lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin::14833:0:99999:7::: sync:x:5:0:sync:/sbin:/bin/sync::14833:0:99999:7::: shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown::14833:0:99999:7::: halt:x:7:0:halt:/sbin:/sbin/halt::14833:0:99999:7::: mail:x:8:12:mail:/var/spool/mail:/sbin/nologin::14833:0:99999:7::: news:x:9:13:news:/etc/news:::14833:0:99999:7::: uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin::14833:0:99999:7::: operator:x:11:0:operator:/root:/sbin/nologin::14833:0:99999:7::: games:x:12:100:games:/usr/games:/sbin/nologin::14833:0:99999:7::: gopher:x:13:30:gopher:/var/gopher:/sbin/nologin::14833:0:99999:7::: ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin::14833:0:99999:7::: nobody:x:99:99:Nobody:/:/sbin/nologin:*:14833:0:99999:7::: nscd:x:28:28:NSCD Daemon:/:/sbin/nologin:!!:14833:0:99999:7::: vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin:!!:14833:0:99999:7::: rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin:!!:14833:0:99999:7::: mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin:!!:14833:0:99999:7::: smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin:!!:14833:0:99999:7::: pcap:x:77:77::/var/arpwatch:/sbin/nologin:!!:14833:0:99999:7::: ntp:x:38:38::/etc/ntp:/sbin/nologin:!!:14833:0:99999:7::: dbus:x:81:81:System message bus:/:/sbin/nologin:!!:14833:0:99999:7::: avahi:x:70:70:Avahi daemon:/:/sbin/nologin:!!:14833:0:99999:7::: sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin:!!:14833:0:99999:7::: rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin:!!:14833:0:99999:7::: nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin:!!:14833:0:99999:7::: haldaemon:x:68:68:HAL daemon:/:/sbin/nologin:!!:14833:0:99999:7::: avahi-autoipd:x:100:101:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin:!!:14833:0:99999:7::: oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin:!!:14833:0:99999:7::: xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin:!!:14833:0:99999:7::: gdm:x:42:42::/var/gdm:/sbin/nologin:!!:14833:0:99999:7::: sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin:!!:14833:0:99999:7::: oracle:x:500:500::/opt/oracle:/bin/bash:$1$v64Pa.m.$GZMrQiOWCdQPF8XKtWju30:14833:0:99999:7::: mysql:x:101:104:MySQL server:/var/lib/mysql:/bin/bash:!!:14866::::::

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

基于SOUI开发一个简单的小工具

Duilib 很久不维护了,而很多不同的分支,似乎都不太维护。微信 Windows 的版本是基于 Duilib 进行开发的,说明应该还是很广泛的。

4433
来自专栏流浪猫的golang

MongoDB 中文的全文索引

MongoDB 从3.2 版本以后添加了对中文索引的支持: 官网链接:https://docs.mongodb.com/manual/reference/t...

3283
来自专栏菩提树下的杨过

ExtJs学习笔记(3)_GridPanel[XML做数据源]

这一节,将学习到除了用JSON做GridPanel的数据源外,还可以使用XML 一。静态示例 1.xml文件内容: <?xml version="1.0...

2338
来自专栏杂烩

分布式服务框架之Dubbo整合Spring项目(二)

1102
来自专栏GIS讲堂

Openlayers2中统计图的实现

在前文中,介绍了Arcgis for js和Openlayers3中统计图的实现,在本文,书接上文,介绍在Openlayers2中,统计图的实现。

1523
来自专栏性能与架构

ZooKeeper是如何保证数据一致性的?

ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据 ZooKeep...

4897
来自专栏PPV课数据科学社区

【学习】七天搞定SAS(一):数据的导入、数据结构

SAS的数据类型 ? 首先,sas的编程大概就两块:Data和PROC,这个倒是蛮清晰的划分。然后目前关注data部分。 SAS的数据类型还真的只有两种:数字和...

40412
来自专栏华仔的技术笔记

Spectrum光谱链共识算法的分析

Spectrum(光谱链)是SmartMesh生态下的公链,承载去中心化Mesh网络实现万物互联dapp的底层公链。由Payment Channel的建构的Sm...

1023
来自专栏Kubernetes

Kubernetes GC in v1.3

本文是对kubernetes GC proposal的解读分析,是对GC in kubernetes v1.3的内部结构剖析,并记录了其中一些关键点,以便日后能...

3045
来自专栏黑白安全

ctf工具包 ctf Toolkit 渗透测试工具包 隐秘数据破解

│ ├── caidao-20160620-www.maicaidao.com.7z

9292

扫码关注云+社区

领取腾讯云代金券