• 要找福利?记不住网址?搜不到?如何与我们保持联系?试试 CTRL+D 把零点博客添加进您的浏览器收藏夹,一键直达永不失联!

Linux join命令

linux系统 涛涛 110次浏览 0个评论

Linux join命令用于将两个文件中,指定栏位内容相同的行连接起来。

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

语法

<span class="pln">join </span><span class="pun">[-</span><span class="pln">i</span><span class="pun">][-</span><span class="pln">a</span><span class="pun"><</span><span class="lit">1</span><span class="pun">或</span><span class="lit">2</span><span class="pun">>][-</span><span class="pln">e</span><span class="pun"><字符串>][-</span><span class="pln">o</span><span class="pun"><格式>][-</span><span class="pln">t</span><span class="pun"><字符>][-</span><span class="pln">v</span><span class="pun"><</span><span class="lit">1</span><span class="pun">或</span><span class="lit">2</span><span class="pun">>][-</span><span class="lit">1</span><span class="pun"><栏位>][-</span><span class="lit">2</span><span class="pun"><栏位>][--</span><span class="pln">help</span><span class="pun">][--</span><span class="pln">version</span><span class="pun">][文件</span><span class="lit">1</span><span class="pun">][文件</span><span class="lit">2</span><span class="pun">]</span>

参数

  • -a<1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
  • -e<字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
  • -i或–igore-case 比较栏位内容时,忽略大小写的差异。
  • -o<格式> 按照指定的格式来显示结果。
  • -t<字符> 使用栏位的分隔字符。
  • -v<1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
  • -1<栏位> 连接[文件1]指定的栏位。
  • -2<栏位> 连接[文件2]指定的栏位。
  • –help 显示帮助。
  • –version 显示版本信息。

实例

连接两个文件。

为了清楚地了解join命令,首先通过cat命令显示文件testfile_1和 testfile_2 的内容。

然后以默认的方式比较两个文件,将两个文件中指定字段的内容相同的行连接起来,在终端中输入命令:

<span class="pln">join testfile_1 testfile_2 </span>

首先查看testfile_1、testfile_2 中的文件内容:

<span class="pln">$ cat testfile_1 </span><span class="com">#testfile_1文件中的内容  </span>
<span class="typ">Hello</span> <span class="lit">95</span> <span class="com">#例如,本例中第一列为姓名,第二列为数额  </span>
<span class="typ">Linux</span> <span class="lit">85</span><span class="pln">  
test </span><span class="lit">30</span><span class="pln">  
cmd@hdd</span><span class="pun">-</span><span class="pln">desktop</span><span class="pun">:~</span><span class="pln">$ cat testfile_2 </span><span class="com">#testfile_2文件中的内容  </span>
<span class="typ">Hello</span> <span class="lit">2005</span> <span class="com">#例如,本例中第一列为姓名,第二列为年份  </span>
<span class="typ">Linux</span> <span class="lit">2009</span><span class="pln">  
test </span><span class="lit">2006</span>

然后使用join命令,将两个文件连接,结果如下:

<span class="pln">$ join testfile_1 testfile_2 </span><span class="com">#连接testfile_1、testfile_2中的内容  </span>
<span class="typ">Hello</span> <span class="lit">95</span> <span class="lit">2005</span> <span class="com">#连接后显示的内容  </span>
<span class="typ">Linux</span> <span class="lit">85</span> <span class="lit">2009</span><span class="pln">  
test </span><span class="lit">30</span> <span class="lit">2006</span>

文件1与文件2的位置对输出到标准输出的结果是有影响的。例如将命令中的两个文件互换,即输入如下命令:

<span class="pln">join testfile_2 testfile_1</span>

最终在标准输出的输出结果将发生变化,如下所示:

<span class="pln">$ join testfile_2 testfile_1 </span><span class="com">#改变文件顺序连接两个文件  </span>
<span class="typ">Hello</span> <span class="lit">2005</span> <span class="lit">95</span> <span class="com">#连接后显示的内容  </span>
<span class="typ">Linux</span> <span class="lit">2009</span> <span class="lit">85</span><span class="pln">  
test </span><span class="lit">2006</span> <span class="lit">30</span>

欢迎转载本文:Linux join命令
喜欢 (0)
[ld]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址