背景:

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. CentOS6.3上搭建expect无交互开发环境

    1.背景 在面向shell编程时对于需要交互的场合则必须通过人工来干预,而对于这种方式是违反无人职守的原则:现在expect就解决了这个问题, Expect是一个免费的编程工具语言,用来实现自动和交互 ...

  2. destructuring

    解构(结构化赋值): 解构过程中,具备赋值和变量声明两个功能 目的在于把等号左右长的相似的两个东西内部的值取出来. 对象数组都可以参与解构: let obj = {name: ‘duyi’,age: ...

  3. 关于d3.js 将一个element 拖拽到另一个element的响应事件

    rt 正在做机柜可视化, 一个需求是能拖拽左侧列表的设备名称, 拖到右侧42U机柜中,并将设备图片放置在对应机柜位置上. 开始的时候一切都很顺利,点击左侧设备名称,添加一个g容器,将设备名称作为tex ...

  4. step_by_step_记录一个javascript字符串处理问题

    记录一个javascript字符串处理的问题 这一天下班,技术QQ群里的大神提出了一个问题,带着问题去思考. ? '---9890.999008-555555-55555555----' 对于这样的字 ...

  5. keepalived vip 没有生成或者生成了ping不通?

    1 问题现象:keepalived已启动但vip 没有生成./var/log/messages日志不断刷屏 tail /var/log/messages Nov :: cache-redis- Kee ...

  6. vue加elementui开发的分页显示

    由于我的是公共引入样式表和css表所以,将公共的也写出来了(我接手的项目为基于vue开发的) 公共的index.html 引入js <script src="{MODULE_URL}s ...

  7. openstack swift curl 常用操作

    上传文件 curl -v -X PUT -H 'X-Auth-Token: AUTH_tkd9276f23b3404c67b8a6be45da881d6e' http://127.0.0.1:8080 ...

  8. JVM学习01:内存结构

    JVM学习01:内存结构 写在前面:本系列分享主要参考资料是  周志明老师的<深入理解Java虚拟机>第二版. 内存结构知识要点Xmind梳理 案例分析 分析1 package com.h ...

  9. MR汇聚工具步骤

    ---------------------------------MR汇聚工具步骤------------------------------------- 1.需要连上141服务器 用户:root ...

  10. Ocelot的学习

    Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.认证.鉴权.简单缓存.限流熔断.负载均衡器等.简单的来说Ocelot是一堆的asp.net core midd ...