背景:

100万条数据。格式如下:

ID 地址

1895756546931805 安徽省六安市裕安区固镇镇佛俺村柳树队
5758 安徽省蒙城县岳坊镇胡寨村小组小胡寨庄6号

1834941674099699 安徽省蚌埠市五河县申集镇朱圩村
1850212719717844 安徽省淮北市
1850212774979300 安徽省合肥市
1850212784889487 安徽省宿州市泗县

目标要求:

筛选出地址不太准确的。地址长度大于11个字符的。

保留前面ID。将结果输出到一个文件中。

操作过程:

#第一步过滤 地址以各个省份开头的
awk '$2 ~ /^北京/{print $0}' originfile >> mid1
awk '$2 ~ /^天津/{print $0}' originfile >> mid1
awk '$2 ~ /^上海/{print $0}' originfile >> mid1
awk '$2 ~ /^重庆/{print $0}' originfile >> mid1
awk '$2 ~ /^安徽/{print $0}' originfile >> mid1
awk '$2 ~ /^河北/{print $0}' originfile >> mid1
awk '$2 ~ /^山西/{print $0}' originfile >> mid1
awk '$2 ~ /^内蒙/{print $0}' originfile >> mid1
awk '$2 ~ /^辽宁/{print $0}' originfile >> mid1
awk '$2 ~ /^吉林/{print $0}' originfile >> mid1
awk '$2 ~ /^黑龙/{print $0}' originfile >> mid1
awk '$2 ~ /^浙江/{print $0}' originfile >> mid1
awk '$2 ~ /^江苏/{print $0}' originfile >> mid1
awk '$2 ~ /^广东/{print $0}' originfile >> mid1
awk '$2 ~ /^福建/{print $0}' originfile >> mid1
awk '$2 ~ /^江西/{print $0}' originfile >> mid1
awk '$2 ~ /^湖南/{print $0}' originfile >> mid1
awk '$2 ~ /^海南/{print $0}' originfile >> mid1
awk '$2 ~ /^河南/{print $0}' originfile >> mid1
awk '$2 ~ /^湖北/{print $0}' originfile >> mid1
awk '$2 ~ /^山东/{print $0}' originfile >> mid1
awk '$2 ~ /^甘肃/{print $0}' originfile >> mid1
awk '$2 ~ /^青海/{print $0}' originfile >> mid1
awk '$2 ~ /^贵州/{print $0}' originfile >> mid1
awk '$2 ~ /^四川/{print $0}' originfile >> mid1
awk '$2 ~ /^云南/{print $0}' originfile >> mid1
awk '$2 ~ /^陕西/{print $0}' originfile >> mid1
awk '$2 ~ /^广西/{print $0}' originfile >> mid1
awk '$2 ~ /^宁夏/{print $0}' originfile >> mid1
awk '$2 ~ /^新疆/{print $0}' originfile >> mid1
awk '$2 ~ /^台湾/{print $0}' originfile >> mid1
awk '$2 ~ /^香港/{print $0}' originfile >> mid1
awk '$2 ~ /^澳门/{print $0}' originfile >> mid1
awk '$2 ~ /^西藏/{print $0}' originfile >> mid1 #第二步 将第二列的字符创长度超过11的筛选出来存入final文件 awk '{if(length($2)>11) print $0}' mid1 >> final

  

shell awk处理过滤100万条数据的更多相关文章

  1. 极限挑战—C#+ODP 100万条数据导入Oracle数据库仅用不到1秒

    链接地址:http://www.cnblogs.com/armyfai/p/4646213.html 要:在这里我们将看到的是C#中利用ODP实现在Oracle数据库中瞬间导入百万级数据,这对快速批量 ...

  2. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...

  3. Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...

  4. C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    作者: Aicken(李鸣)  来源: 博客园  发布时间: 2010-09-08 15:00  阅读: 4520 次  推荐: 0                   原文链接   [收藏] 摘要: ...

  5. 教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!

    教你如何6秒钟往MySQL插入100万条数据!然后删库跑路! 由于我用的mysql 8版本,所以增加了Timezone,然后就可以了 前提是要自己建好库和表. 数据库test, 表user, 三个字段 ...

  6. 2020-04-23:假设一个订单的编号规则是AAAAOrder2020-0000001,AAAAOrder2020-0000002....后面的数字是自增长,如果订单号码达到AAAAOrder2020-1000000(100万),数据库中应该有100万条数据,此时我随机删除2条数据(物理删除,且不考虑日志和备份),请问怎么找到删掉的数据的编号?给出解题思路即可,答案需要在1秒内运行得到。

    福哥答案2020-04-23: 分批查询:分成500次count(),每次count()肯定小于等于2000条数据,经过测试,一次count()在.1ms左右,500次就是500ms.二分法(时间微超 ...

  7. PHP实现插入100万条数据优化

    第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...

  8. [C#]_[使用微软OpenXmlSDK (OpenXmlReader)读取xlsx表格] 读取大数据量100万条数据Excel文件解决方案

      1.OpenXmlSDK是个很好的类库,可惜只能通过C#调用,C#的童鞋又福气了. 2.服务端程序由于没法安装office,所以这个对asp.net网站来说是最理想的库了.需要.net 4.0版本 ...

  9. Oracle中插入100万条数据

    在做项目的工程中,需要数据库中存在大量的数据进行程序的验证,但是我们又没有数据,这时就需要我们自己手动建一个表,插入大量数据,进行验证. 那么插入大量数据的sql语句如下: insert into E ...

随机推荐

  1. vs2015下编译duilib的几个问题

    duilib下载地址在github 用vs2015打开,提示升级工程,确认后继续. 编译,UIGifAnim.cpp 323行报错 1>Control\UIGifAnim.cpp(324): e ...

  2. R和Python,对抗or融合?

    来源商业新知网,原标题:从对抗到融合,教你充分利用R+Python! 我们应该将关注点放在技能上,而不是工具上. 如果你从事数据科学的工作,可能会立即想到两种编程语言:R和Python. 事实上,R和 ...

  3. MFC新建工程中目录包含中文,资源文件打开失败

    ※尽量不适用中文,各种未知错误,嘿嘿 此方法临时解决问题,可以使程序运行,后续是否还有错误是未知数 需要修改3处位置: 1.资源文件中.rc 右键,点击“查看代码”,找到带中文的资源ID,把中文修改掉 ...

  4. java课程之团队开发冲刺1.2

    一.总结昨天进度 1.三个任务都已经实现 2.使用时间:四个小时左右 二.遇到的困难 1.对Android原生的侧拉任务栏不了解,导致使用的时候出现了一部分问题 三.今天任务规划 1.对之前的程序重新 ...

  5. flex-grow,flex-shrink,flex-basis及flex

    flex-grow:默认值0:分配剩余空间的扩张比例: flex-basis:默认值auto:倘若设置了此属性,那么计算剩余空间之前要优先减去此属性,且它的层级比width高,会将width覆盖. 有 ...

  6. 使用Log4J收集日志

    一:搭建好Selenium+testNG+Maven环境,可参考 http://www.cnblogs.com/hc1020/p/8602863.html 二:百度搜索Maven仓库,然后搜索Log4 ...

  7. Java I/O (1) - 输入/输出流

    先说概念: Java API中,可以从其中读入一个字节序列的对象叫做输入流,可以向其中写入一个字节序列的对象叫做输出流.这些字节序列的来源地 和 目的地 可以文件.网络连接甚至内存块.抽象类Input ...

  8. 关于Image创建的内存管理

    image创建方法 [UIImage imageNamed:imageName] 上述方法创建的image,会常驻在内存中,不会随着imageView的dealloc而释放内存. NSString * ...

  9. Checkbox的只读设置

    readonly和disabled属性均不生效.可按如下方式处理,记得引入jquery.js文件 <input type="checkbox" name="chk& ...

  10. php 通过扫描二维码关注公众号

    class Wxfollow {     protected $appid = 'wxf1d959b99f33b156';     protected $secret = '248f3a5606045 ...