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( ...
随机推荐
- JAVA调用SHELL事例
以往一直都是crontab+shell调用java程序,最近需要反过来,使用java调用shell程序,实现定时管理,今天总结一下. 基础内容: java的java.lang.Runtime类提供了e ...
- system.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式-解决方法
LINQ to Entities的lambda表达式中如果需要转换时间及各种时间格式请使用System.Data.Entity的类DbFunctions的各种方法 例如: IsOverdue = db ...
- 一条SQL语句获取具有父子关系的分类列表(mysql)
有如下表数据: 获取“菜单”分类的子分类数据列表: SELECT a.cat_id, a.cat_name, a.sort_order AS parent_order, a.cat_id, b.cat ...
- 让服务器可以下载apk和ipa文件
选中指定网站→在右侧找到 MIME类型 → 双击进入已有类型页 → 点击最右侧添加 apk application/vnd.android.package-archive MRP文件(国内普遍的 ...
- cocos2d-js Shader系列1:cocos2d-js Shader和OpenGL ES2.0
cocos2d的Shader也就是差不多直接跟GPU打交道了,跟Flash的Stage3D(AGAL)类似,不过没有AGAL这么恶心,不需要直接编写汇编语言.而Fragment Shader又跟Fla ...
- Java HttpClient Basic Credential 认证
HttpClient client = factory.getHttpClient(); //or any method to get a client instance Credentials cr ...
- 基于py3和pymysql查询某时间段的数据
#python3 #xiaodeng #基于py3和pymysql查询某时间段的数据 import pymysql conn=pymysql.connect(user='root',passwd='r ...
- HP ALM
HP ALM 使用经验 使用HP ALM(Application Lifecycle Management)软件有一个多月的时间了,我是从安装,部署,建项,配置,使用,再到问题收集,这个过程过来的.发 ...
- 简化版的SpringMVC框架的实现思路
在SpringMVC基本统一Java web开发技术栈的环境下, 这是一个有点过时的话题了. SpringMVC的特点主要在于注解型的RequestMapping和参数机制非常灵活, 另外得益于Spr ...
- Swoole源代码学习记录(十三)——Server模块具体解释(上)
Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server. ...