Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347210
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 847
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-25 22:29
个人简介

执一不失,能君万物http://weidian.com/s/284520723?wfr=c

文章分类

全部博文(81)

文章存档

2016年(11)

2015年(70)

我的朋友

分类: LINUX

2015-07-08 16:21:10


点击(此处)折叠或打开

  1. join的用法
  2. 用途说明
  3. join命令根据公共字段(关键字)来合并两个文件的数据行。因此最简单的使用方式就是指定两个数据文件名,这两个文件的第一列就是公共字段,字段之间以空白分隔。
  4. 内连接(inner join) 格式:join <FILE1> <FILE2>

  5. 左连接(left join, 左外连接, left outer join) 格式:join -a1 <FILE1> <FILE2>

  6. 右连接(right join, 右外连接,right outer join) 格式:join -a2 <FILE1> <FILE2>

  7. 全连接(full join, 全外连接, full outer join) 格式:join -a1 -a2 <FILE1> <FILE2>
  8. 指定分隔符:

  9. -t <CHAR>

  10. 比如:-t ':' 使用冒号作为分隔符。默认的分隔符是空白。

  11. 指定输出字段:

  12. -o <FILENO.FIELDNO> ...

  13. 其中FILENO=1表示第一个文件,FILENO=2表示第二个文件,FIELDNO表示字段序号,从1开始编号。默认会全部输出,但关键字列只输出一次。

  14. 比如:-o 1.1 1.2 2.2 表示输出第一个文件的第一个字段、第二个字段,第二个文件的第二个字段。
  15. 举例说明
  16. [root@localhost ~]# cat join1 join2
  17. 1 一月
  18. 2 二月
  19. 3 三月
  20. 4 四月
  21. 5 五月
  22. 7 777
  23. 1 January
  24. 2 February
  25. 3 March
  26. 4 April
  27. 5 May
  28. 6 June
  29. [root@localhost ~]# join join1 join2
  30. 1 一月 January
  31. 2 二月 February
  32. 3 三月 March
  33. 4 四月 April
  34. 5 五月 May
  35. #示例一 内连接(忽略不匹配的行)
  36. 不指定任何参数的情况下使用join命令,就相当于数据库中的内连接,关键字不匹配的行不会输出。
  37. [root@localhost ~]# join -a1 join1 join2
  38. 1 一月 January
  39. 2 二月 February
  40. 3 三月 March
  41. 4 四月 April
  42. 5 五月 May
  43. 7 777
  44. #示例二 左连接(又称左外连接,显示左边所有记录)
  45. 显示左边文件中的所有记录,右边文件中没有匹配的显示空白。
  46. [root@localhost ~]# join -a2 join1 join2
  47. 1 一月 January
  48. 2 二月 February
  49. 3 三月 March
  50. 4 四月 April
  51. 5 五月 May
  52. 6 June
  53. #示例三 右连接(又称右外连接,显示右边所有记录)
  54. 显示右边文件中的所有记录,左边文件中没有匹配的显示空白。
  55. [root@localhost ~]# join -a1 -a2 join1 join2
  56. 1 一月 January
  57. 2 二月 February
  58. 3 三月 March
  59. 4 四月 April
  60. 5 五月 May
  61. 6 June
  62. 7 777
  63. [root@localhost ~]#
  64. #示例四 全连接(又称全外连接,显示左边和右边所有记录)
  65. [root@localhost ~]# join -o 1.1 2.2 join1 join2
  66. 1 January
  67. 2 February
  68. 3 March
  69. 4 April
  70. 5 May
  71. [root@localhost ~]#
  72. 示例五 指定输出字段:输出第一个文件的第一个字段和第二个文件的第二个字段。
  73. [root@localhost ~]# join -t: join1 join2
  74. 1:一月:January
  75. 2:二月:February
  76. 3:三月:March
  77. 4:四月:April
  78. 5:五月:May
  79. [root@localhost ~]# join -t ':' join1 join2
  80. 1:一月:January
  81. 2:二月:February
  82. 3:三月:March
  83. 4:四月:April
  84. 5:五月:May
  85. [root@localhost ~]#
  86. #示例六 指定分隔符

阅读(1892) | 评论(0) | 转发(0) |
0

上一篇:合并与排序2-uniq

下一篇:合并与排序4-cut

给主人留下些什么吧!~~