前几天因为同事一个sql写的有问题,导致我这边处理mysql入库出现数据丢失,没什么办法啊,为了回复数据,只能去翻前两天的log了,但是怎么从十几个几十兆的文件中找到我们需要的数据然后提取出来呢,我的第一反映就是在服务端通过shell 脚本find方法,查找需要的数据,然后导入到一个临时文件。然后再把这个临时文件导出来进一步的处理。后来一个同事说,sublime可以做这个工作,所以就研究了下sublime的部分功能,原来sublime,不仅可以如此方便的在庞杂的数据中提取出我们想要的数据,而且可以按行提取,一切尽在selection里面。

首先打开需要处理的文件,找到要提取行的数据按【ctrl + F】,把数据复制到查找面板里,然后选择【find all】,在文件中你会看到我们想选的内容被选中了,然后选择tab中的【selection】的下拉列表中的【Expand Selection to line】,你会看到我们要查找的数据所在的行被选中,然后按【ctrl + C】赋值数据行,最后新建文件粘贴数据就好了,这样我们所需要的数据就被提取出来了。

上面的数据虽然提取出来了,但是要怎么把他们转化成一个个的sql语句然后开一个事务去执行呢,这里就应该用到字符串的替换操作了。

【ctrl + shift + F】弹出查找替换窗口,使用insert into语句替换我们不需要的数据就可以了,本来以为这样就结束了,结果,最后面的数据不是相同的数值,所以不能全覆盖。这样还是无法解决啊,要是能去掉空行,删除换行符就好了,于是找到了。

Sublime删除空行

删除空行

【ctrl + H】 进入替换模式, 然后【alt + R】或者点击左边第一行一个的正则表达式, 变得更灰表示使用正则模式.

第一行查找部分输入【^\n】 替换部分为空,再replace all. 这样就可以把所有空行都删掉. 最简单的方法..

删除多余空格

同上, 进入正则表达式替换. 输入查找 【(?ms)\ {2,}】, 替换成空格. 前者表示2个或以上空格的选取. 同理可以进行很多方便的处理.

DeleteBlankLines 插件

sublime text 中没有直接可以删除空行的功能和快捷键,但我们可以安装一个插件"DeleteBlankLines"来实现.
插件地址:https://github.com/NicholasBuse/sublime_DeleteBlankLines
在sublime text中Ctrl+Shift+P打开命令框输入install package,搜索DeleteBlankLines并安装即可.

相关快捷键如下:
在Windows操作系统中:
Ctrl+Alt+Backspace --> 删除所有空行
Ctrl+Alt+Shift+Backspace --> 删除多余空行
在OSX操作系统中:
Ctrl+Alt+Delete --> 删除所有空行
Ctrl+Alt+Shift+Delete --> 删除多余空行
在Linux操作系统中:
Ctrl+Alt+Backspace --> 删除所有空行
Ctrl+Alt+Shift+Backspace --> 删除多余空行
删除所有空行:删除所有空行
删除多余空行:将两个及两个以上的连续空行替换成一个空行
注意:如果行中带有tab或空格字符则不会被删除,只删除只含有\n或\r的空行

sublime在混杂的log数据中提取你想要的内容的更多相关文章

  1. 从Wireshark监听的数据中提取需要的数据

    最近,需要将wireshark监听的数据进行提取,分两步:首先,应该得出wireshark的数据包吧,在图形化界面中可以非常直观的将监听数据进行存储,但是这样需要手动操作非常麻烦,而且容易出错(随着处 ...

  2. 返回数据中提取数据的方法(JSON数据取其中某一个值的方法)

    返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...

  3. 如何实现从登录接口响应数据中提取JSESSIONID

    通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录.这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID, ...

  4. MLR:利用多元线性回归法,从大量数据中提取五个因变量来预测一个自变量—Jason niu

    from numpy import genfromtxt from sklearn import linear_model datapath=r"Delivery_Dummy.csv&quo ...

  5. C# 从字符串中提取指定字符类型的内容

    从一段字符串中,提取中文.英文.数字 中文字符30Margin中文字符40HorizontalAlignment 正则表达式: /// <summary> /// 英文字母与数字 /// ...

  6. [数据科学] 从csv, xls文件中提取数据

    在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...

  7. SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案

    原文:SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Serv ...

  8. 如何使用Hive&R从Hadoop集群中提取数据进行分析

    一个简单的例子! 环境:CentOS6.5 Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目 --有一个用户数据样本(表名huserinfo)10万数据左右: ...

  9. 使用 CSS 选择器从网页中提取数据

    在 R 中,关于网络爬虫最简单易用的扩展包是 rvest.运行以下代码从 CRAN 上安装:install.packages("rvest")首先,加载包并用 read_html( ...

随机推荐

  1. HTTP长连接与短链接

    想要充分了解HTTP长连接,需要首先知道一些基本概念: TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这 ...

  2. javascript constrator and prototype

    揭开js之constructor属性的神秘面纱 在js里面当new了一个对象时,这中间发生了什么? MDN - new运算符 当代码 new foo(...) 执行时: 一个新对象被创建.它继承自fo ...

  3. excel自定义数据验证

    1. 判断必须为5位或者9位的数字 2. 自定义限制级别和提示消息

  4. Hive表的建立和导入导出数据

    Hive是Hadoop的常用工具之一,Hive查询语言(HiveQL)的语法和SQL类似,基本实现了SQL-92标准. 1. 表的建立 编写以下的文件: USE test; DROP TABLE IF ...

  5. 《简明Python教程》读书笔记

    1:help 需要获取Python中任何函数.类型的信息,使用   help('内容')   命令查看帮助,按  q  退出帮助. 2:格式化字符串 format 方法是数据格式化的重要方法. 字符串 ...

  6. Java多线程之ReentrantLock重入锁简介与使用教程

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543947.html  我们知道,线程安全问题需要通过线程之间的同步来解决,而同步大多使用syncrhoize ...

  7. Spring MVC 零配置 / Spring MVC JavaConfig

    1. Spring MVC的核心就是DispatcherServlet类,Spring MVC处理请求的流程如下图所示: 2. Spring MVC中典型的上下文层次 当我们初始化一个Dispatch ...

  8. leetcode笔记:Bulls and Cows

    一. 题目描写叙述 You are playing the following Bulls and Cows game with your friend: You write down a numbe ...

  9. idea 配置svn

        1.情景展示 idea安装好后,如何配置svn? 2.分析 由于没有针对idea的svn插件,因此只能选择安装svn的客户端. 3.解决方案 第一步:下载小乌龟SVN客户端: 官网地址:htt ...

  10. SICK LMS111激光雷达的使用

    LMS111系列是SICK推出的一款用于室外区域防撞.测量及安防的激光扫描器.LMS111同西克其他扫描器一样,采用成熟的ToF原理,非接触式检测,且加入了最新的多次回波检测技术(两次回波),使得LM ...