Linux join命令详解 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命令,首先通过cat命令显示文件testfile_1和 testfile_2 的内容。

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

join testfile_1 testfile_2

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

$ cat testfile_1 #testfile_1文件中的内容

Hello 95 #例如,本例中第一列为姓名,第二列为数额

Linux 85

test 30

cmd@hdd-desktop:~$ cat testfile_2 #testfile_2文件中的内容

Hello 2005 #例如,本例中第一列为姓名,第二列为年份

Linux 2009

test 2006

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

$ join testfile_1 testfile_2 #连接testfile_1、testfile_2中的内容

Hello 95 2005 #连接后显示的内容

Linux 85 2009

test 30 2006

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

join testfile_2 testfile_1

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

$ join testfile_2 testfile_1 #改变文件顺序连接两个文件

Hello 2005 95 #连接后显示的内容

Linux 2009 85

test 2006 30

时间: 2024-10-14 22:26:16

Linux join命令详解 Linux join命令怎么用的相关文章

Linux cd命令详解 Linux cd命令怎么用

其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录. 语法 cd [dirName] dirName:要切换的目标目录. 实例 跳到 /usr/bin/ : cd /usr/bin 跳到自己的 home 目录 : cd ~ 跳到目前目录

Linux ftp命令详解 Linux ftp命令怎么用

FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身. 语法 ftp [-dignv][主机名称或IP地址] 参数: -d 详细显示指令执行过程,便于排错或分析程序执行的情形. -i 关闭互动模式,不询问任何问题. -g 关闭本地主机文件名称支持特殊字符的扩充特性. -n 不使用自动登陆. -v 显示指令执行过程. 实例 例如使用ftp命令匿名登录ftp.kernel.org服务器,该服务是Linux 内核的官方服务器,可以使用如下命令: ftp ftp.kernel.

Linux zipinfo命令详解 Linux zipinfo命令怎么用

pnux zipinfo命令用于列出压缩文件信息,执行zipinfo指令可得知zip压缩文件的详细信息. 语法 zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] 参数: -1 只列出文件名称. -2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用. -h 只列出压缩文件的文件名称. -l 此参数的效果和指定"-m"参数

Linux rm命令详解 Linux rm命令怎么用

Linux rm命令用于删除一个文件或者目录. 语法 rm [options] name... 参数: -i 删除前逐一询问确认. -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. -r 将目录及以下之档案亦逐一删除. 实例 删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如: # rm  test.txt  rm:是否删除 一般文件 "test.txt"? y   # rm  homework   rm: 无法删除目录"home

Linux touch命令详解 Linux touch命令怎么用

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. ls -l 可以显示档案的时间记录. 语法 touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help] [--version][文件或目录-] 参数说明: a 改变档案的读取时间记录. m 改变档案的修改时间记录. c 假如目的档案不存在,不会建立新的档案.与 --no-create 的效果一样.

Linux cp命令详解 Linux cp命令怎么用

Linux cp命令主要用于复制文件或目录. 语法 cp [options] source dest 或 cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Windows系统中的快捷方式. -f:覆盖已经存在的目标文件而不给出提示. -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y&quo

Linux more命令详解 Linux more命令怎么用

more最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h .  语法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 参数: -num 一次显示的行数 -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h

Linux zip命令详解 Linux zip命令怎么用

zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件. 语法 zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>] 参数: -A 调整可执行的自动解压缩文件. -b<工作目录> 指定暂时存放

Linux dumpkeys命令详解 Linux dumpkeys命令怎么用

Linux dumpkeys命令用于显示键盘映射表,输出的内容可以被loadkeys命令识别,改变映射关系. 语法 dumpkey[选择参数] 参数说明: -i 驱动信息(键码范围.数量.状态键) -l 详细驱动信息 -n 十六进制显示 -f 显示全部信息 -1 分行显示按键组合 -S 设定输出格式(0:预设 1:完整 2:分行 3简单) --funcs-only 功能键信息 --keys-only 键组合信息 --compose-only 普通键信息 实例 显示功能键信息 # dumpkeys

Linux mv命令详解 Linux mv命令怎么用

语法 mv [options] source dest mv [options] source... directory 参数说明: -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件; -f: 在mv操作要覆盖某已有的目标文件时不给任何指示; mv参数设置与运行结果 命令格式 运行结果 mv  文件名   文件名 将源文件名改为目标文件名 mv  文件名   目录名 将文件移动到目标目录 mv  目录名   目录名 目标目录已存在,将源目录移动到目标目录:目标目录不存在则改名 mv  目录