shell学习之按照某列合并两个文件
来源:互联网 发布:java定义方法 编辑:程序博客网 时间:2024/06/07 04:41
211.82.96.2 北京 海淀区211.82.96.3 北京 朝阳区211.82.96.5 南阳 卧龙区10.1.18.7 郑州 新郑
10.1.18.7211.82.96.5
使用join命令。
在使用join前,需要将两个文件按照相同的规则进行排序,这样才能使用join达到期望的效果
#!/bin/bash filenameBeforSort1="ip_city_location.file"filenameBeforSort2="ip.file"sortedFile1="ip_city_location.sort"sortedFile2="ip.sort"sort $filenameBeforSort1 > $sortedFile1sort $filenameBeforSort2 > $sortedFile2join $sortedFile1 $sortedFile2 | awk '{print $1,$2}'
10.1.18.7 郑州211.82.96.5 南阳
211.82.96.2 北京 海淀区211.82.96.3 北京 朝阳区211.82.96.5 南阳 卧龙区211.82.96.3 北京 朝阳区10.1.18.7 郑州 新郑211.82.96.2 北京 海淀区10.1.18.7 郑州 新郑
10.1.18.7211.82.96.510.1.18.7211.82.96.5
#!/bin/bash filenameBeforSort1="ip_city_location.file"filenameBeforSort2="ip.file"sortedFile1="ip_city_location.sort"sortedFile2="ip.sort"sort $filenameBeforSort1 | uniq | sort > $sortedFile1 #第二个sort命令不写效果也一样,但是个人认为加上更保险一些,不过数据量大时也许会影响效率 sort $filenameBeforSort2 |uniq | sort > $sortedFile2 #第二个sort命令不写效果也一样,但是个人认为加上更保险一些,不过数据量大时也许会影响效率 join $sortedFile1 $sortedFile2 | awk '{print $1,$2}'
10.1.18.7 郑州211.82.96.5 南阳
#!/bin/bash filenameBeforSort1="ip_city_location.file"filenameBeforSort2="ip.file"sortedFile1="ip_city_location.sort"sortedFile2="ip.sort"sort $filenameBeforSort1 > $sortedFile1sort $filenameBeforSort2 > $sortedFile2join $sortedFile1 $sortedFile2 | awk '{print $1,$2}' | sort | uniq #在做uniq命令之前是必须先执行sort命令的
10.1.18.7 郑州211.82.96.5 南阳
0 0
- shell学习之按照某列合并两个文件
- 合并两个文件中的列
- 用pandas按列合并两个文件
- java IO操作 按照规律合并两个txt文件
- shell 按照文件中指定列的数字大小排序
- 用shell 或者 awk 合并两个文件
- 合并两个文件的内容:shell/java
- c#对两个txt文件的列合并
- 两个文件,按照一个文件中的某一列筛选另一个文件中的数据
- awk 两个文件的两个列若相同,合并两个文件
- java编程之合并两个文件内容
- 144.按照要求合并两个整数
- shell学习之合并与分割
- shell学习之合并与分割
- python两个文件合并
- 合并两个文件
- 合并两个HEX文件
- 合并两个S19文件
- 链式前向星(图)
- oracle存储过程里嵌套游标循环
- (libgdx小结)window(游戏对话框的使用)
- Geeks 面试题: Ugly Numbers
- VMware中RedHat图形界面与命令介面的快速切换
- shell学习之按照某列合并两个文件
- Linux ALSA声卡驱动之一:ALSA架构简介
- @@errow用法
- Eclipse SDK配置
- CVPR2013感兴趣文章列表
- BUPT OJ85 Three Points On A Line
- 是什么原因导致.Net程序员工资低?
- oracle中round()四舍五入
- myeclipse工程有红叉,里面文件没错,提示Java compiler level does not match the version of the installed Java project