sublime在混杂的log数据中提取你想要的内容
前几天因为同事一个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数据中提取你想要的内容的更多相关文章
- 从Wireshark监听的数据中提取需要的数据
最近,需要将wireshark监听的数据进行提取,分两步:首先,应该得出wireshark的数据包吧,在图形化界面中可以非常直观的将监听数据进行存储,但是这样需要手动操作非常麻烦,而且容易出错(随着处 ...
- 返回数据中提取数据的方法(JSON数据取其中某一个值的方法)
返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...
- 如何实现从登录接口响应数据中提取JSESSIONID
通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录.这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID, ...
- MLR:利用多元线性回归法,从大量数据中提取五个因变量来预测一个自变量—Jason niu
from numpy import genfromtxt from sklearn import linear_model datapath=r"Delivery_Dummy.csv&quo ...
- C# 从字符串中提取指定字符类型的内容
从一段字符串中,提取中文.英文.数字 中文字符30Margin中文字符40HorizontalAlignment 正则表达式: /// <summary> /// 英文字母与数字 /// ...
- [数据科学] 从csv, xls文件中提取数据
在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...
- SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案
原文:SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Serv ...
- 如何使用Hive&R从Hadoop集群中提取数据进行分析
一个简单的例子! 环境:CentOS6.5 Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目 --有一个用户数据样本(表名huserinfo)10万数据左右: ...
- 使用 CSS 选择器从网页中提取数据
在 R 中,关于网络爬虫最简单易用的扩展包是 rvest.运行以下代码从 CRAN 上安装:install.packages("rvest")首先,加载包并用 read_html( ...
随机推荐
- logrotate: 管理日志文件
Erik Troan提供了一种优秀的工具logrotate,它实现了多种多样的日志管理策略,而且在我们举例的所有发行版本上都是标准应用. logrotate的配置文件由一系列规范组成,它们说明了要管理 ...
- Microsoft Excel as a Source and Target as Oracle in ODI
创建测试表格和目标表 导出scott用户的emp表为EMP.xlsx作为测试的元数据,结果如下 打开EMP.xlsx 公式→定义名称 创建目标表(来自scott.sql) CREATE TABLE E ...
- 6、redis之使用spring-data-redis的Template
POM: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...
- mybatis-generator生成逆向工程两种方式
本文博客地址:http://blog.csdn.net/soonfly/article/details/64499423 逆向工程下载 链接:https://pan.baidu.com/s/1YOAq ...
- Window10激活
Windows10激活,通过kms激活. 01.安装对应版本的秘钥 专业版:W269N-WFGWX-YVC9B-4J6C9-T83GX 企业版:NPPR9-FWDCX-D2C8J-H872K-2YT4 ...
- java 下对字符串的格式化
1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解 ...
- httpclient获取响应实体和信息的封装方法(解耦更新)
转自:https://blog.csdn.net/fhaohaizi/article/details/77850302 2018年07月19日更新,主要是解耦之后方法很多地方发生了变化,httpcli ...
- Android开发环境——连接驱动ADB相关内容汇总
Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...
- Delphi消息推送
移动端的消息推送大家都体验过,智能手机上一大堆广告等各种消息会不时从消息栏中弹出来骚扰你. PC程序中我们有时也会用到消息推送,比如通知之类.通常我们使用的方法可能更多地使用Socket之类来处理,有 ...
- RS:关于协同过滤,矩阵分解,LFM隐语义模型三者的区别
项亮老师在其所著的<推荐系统实战>中写道: 第2章 利用用户行为数据 2.2.2 用户活跃度和物品流行度的关系 [仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法.学术界对协同过滤算 ...