[转]linux 下 join命令总结
转自:http://blog.chinaunix.net/uid-20754793-id-177777.html
有两个文件需要合并,开始写了脚本实现,忽然发现join命令能够完全替代,总结了一下join的基本用法
linux常用命令系列—join 文档内容合并
功能介绍:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。join强大呀,像sql里 面的join 呢.join工作方式。这里有两个文件f i l e 1和f i l e 2,当然已经分类。每个文件里都有一些元素与另一个文件相关。由于这种关系, 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 显示版本信息。
举例:创建文件发file1和file2内容如下:
file1:
|
|
file2:
|
|
1.将两个文件 内容相同的行连接起来
|
|
|
|
2显示第一个文件第二个域,第二个文件第二个域
|
|
3 显示第一个文件不匹配的行
其他选项用到时再写出
|
|
向file2添加新内容如下
|
|
显示第二个文件不匹配的行
|
|
合并两个文件脚本如下:
|
# # Script: merge_print.sh # Author: CaoJiangfeng # Date: 2010-09-25 11:38:57 AM # Purpose: This script is used to merge two files in common # Version: 1.0 # ################################################################ ################ Define some variables here ################## ################################################################ # Define some global variables FILE1="file1" ################ Define some functions here ################## ################################################################ function merge while read line1 ################ Start of main ################## ################################################################ merge # clean rm -f $TARGET |
[转]linux 下 join命令总结的更多相关文章
- Linux下Join命令
Linux下Join命令 最近新上线算法,打算分析起点书籍点击率的波动,原来已经有流程每天每本书籍的点击率数据(文件).之前这种情况都是写代码对不同天的进行合并,后来发现linux下直接就有join命 ...
- Linux 下 make 命令 及 make 笔记
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- 例解 Linux 下 Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- Linux下who命令之C语言实现
Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- linux下svn命令使用大全
最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...
- Linux下rz命令使用的实例详解
Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
随机推荐
- vuex----mutation和action的基本使用
我们要实现的很简单,就是点击+1的count加一,点击-1的时候count-1 一.mutation 在vue 中,只有mutation 才能改变state. mutation 类似事件,每一个mu ...
- 10.3andXE7的DEVExpress18.2.1记录备查
记录备查: win10 DEVExpress18.2.1用DevExpressVCL一键编译安装工具_v10.3.2 - 2018-12-12.exe(包括help,备份...升级系统不用重新安装控件 ...
- selectByExampleWithBLOBs-----搜索结果包含大字段类型----搜索结果包含大字段类型
http://www.jb51.net/article/121482.htm mybatis generator 使用方法教程(生成带注释的实体类)
- codeforces 371D
#include<stdio.h> #define N 210000 struct node { int x,next; __int64 count,vec; }pre[N]; int n ...
- hdu 1527威佐夫博弈
//http://www.cnblogs.com/bo-tao/archive/2012/04/16/2452633.html #include<stdio.h> #include< ...
- 【BZOJ4650&UOJ219】优秀的拆分(二分,hash)
题意: 思路: 在实现时SA可以用hash+二分代替,会多一个log BZ上跑的飞快,但UOJ上extra卡出翔,已经放弃 不过转C或者写SA没准就过了 看来转C迫在眉睫 ; ..]of int64; ...
- Win32编程API 基础篇 -- 6.菜单和图标
菜单和按钮 例子:菜单1 本小节仅仅向你展示如果向你的窗口中加入一个基本的菜单,通常你会用到一个提前制作好的菜单资源,这会是一份.rc文件并且会被编译链接进你的.exe可执行程序中.这是具体的流程做法 ...
- The Evaluation of Determinant(求行列式mod一个数的值)
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #i ...
- Ubuntu 16.04安装汇编编译器NASM
NASM支持intel语法. 安装过程: 1.通过二进制包方式 下载: http://www.nasm.us/pub/nasm/releasebuilds/2.13/ 如果要下载其它版本可以把地址靠前 ...
- SpringMVC断言--Assert
Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回.类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查,如果入参不符合要求,方法将通过抛出异 ...