Feb 25, 2008
根据指定栏位连接两个文件——join 命令
在 linux/unix 中可以使用 join 命令来连接两个文件。它会根据指定栏位,找到两个文件中指定栏位内容相同的行,将他们合并,并根据要求的格式输出内容。该命令对于比较两个文件的内容很有帮助。
语法join [ -i ][ -a filenumber | -v filenumber ] [ -1 fieldnumber ]
[ -2 fieldnumber ] [ -o list ] [ -e string ] [ -t char ]
file1 file2
主要参数
-i 或 --igore-case 比较栏位内容时,忽略大小写的差异。
-a <1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
-v <1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
-1/-j1 <栏位> 连接[文件1]指定的栏位。栏位从 1 开始,默认为1。
-2/-j2 <栏位> 连接[文件2]指定的栏位。栏位从 1 开始,默认为1。
-j <栏位> 相当于 -1 <栏位> -2 <栏位>
-e <字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
-o <格式> 按照指定的格式来显示结果。
-t <字符> 使用栏位的分隔字符。
--help 显示帮助。
--version 显示版本信息。
实例
oracle DBALNP01@lonespcmp1 > cat timestamp_list_LNWASP1_pre.out.es
Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf
Feb 22 14:54 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf
Feb 22 14:54 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf
Feb 22 14:53 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf
Feb 22 14:54 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf
Feb 22 14:54 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf
Feb 22 14:54 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf
Feb 22 14:54 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf
Feb 22 14:53 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf
Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf
(/apps/oracle/scripts/ADHOC/DOBCPFILETSCHECK/tmp)
oracle DBALNP01@lonespcmp1 > cat timestamp_list_LNWASP1_post.out.es
Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf
Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf
Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf
Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf
Feb 22 14:58 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf
Feb 22 14:58 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf
Feb 22 14:58 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf
Feb 22 14:58 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf
Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf
Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf
(/apps/oracle/scripts/ADHOC/DOBCPFILETSCHECK/tmp)
oracle DBALNP01@lonespcmp1 > join -1 4 -2 4 -o 1.1 1.2 1.3 2.1 2.2 2.3 2.4 timestamp_list_LNWASP1_pre.out.es timestamp_list_LNWASP1_post.out.es
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf
Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf
Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf
Feb 22 05:06 Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf
参考
http://www.linuxmanpages.com/man1/join.1.php
http://www.allwiki.com/index.php?title=Linux%E5%91%BD%E4%BB%A4:Join&variant=zh-cn
Posted by Sky at 05:29 PM | Permalink | comments(0) | Edit | OS