背景:

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. jpa table主键生成策略

    用 table 来生成主键详解 它是在不影响性能情况下,通用性最强的 JPA 主键生成器.这种方法生成主键的策略可以适用于任何数据库,不必担心不同数据库不兼容造成的问题. initialValue不起 ...

  2. <Dare To Dream> 第四次作业:基于原型的团队项目需求调研与分析

    任务1:实施团队项目软件用户调研活动. (1)真实的用户调研对象:生科院大三学生 (2)利用实验七所开发的软件原型:网站原型链接 (3)要有除原型法之外的其他需求获取手段: 访谈法 开会研讨法 (4) ...

  3. .net session 使用误区

    1. this.Session["username"] = null  HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用 ...

  4. 关于AVL树的思考

    AVL树即平衡二叉树,每个结点有一个平衡因子,即左子树高度减去右子树高.每插入一个结点时,从根部开始按二叉排序树的方法,与节点不断比较,按大小向左右子树插入.在与最后的节点比较后插入时,若有兄弟节点, ...

  5. layer弹出层不居中解决方案(转)

    @感谢参考文章 原文内容: 一.问题描述 用layer做操作结果提示时,发现如果页面超出屏幕的高度时,弹出的提示不是屏幕居中,而是在页面高度的中间,如果一个页面的高度比较大,就看不到提示了. 还有一种 ...

  6. 理解javascript中的立即执行函数(function(){})()

    之前看了好多代码,都有用到这种函数的写法,但是都没认真的去想为什么会这样写,今天开始想学习下jquery的源码,发现jquery也是使用这种方式,用(function(window, undefine ...

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

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

  8. vue 增删改查

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. oracle12C安装步骤

    首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...

  10. vue项目获取地址栏参数(非路由传参)

    在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...