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( ...
随机推荐
- 使用MAVEN打JAR,直接使用
一.简单的方法: 首先在pom.xml里面添加: <build> <plugins> <plugin> <artifactId>maven-assemb ...
- selenium安装使用
pip isntall selenium chromedriver download copy到chrome的安装目录, 并将这个路径加到环境变量的path中 chromedriver与chrome各 ...
- 算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)
目录 1 好好学习 2 埃及分数 3 金蝉素数 4 横向打印二叉树 5 危险系数 6 公式求值 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的 ...
- Influxdb数据压缩
环境: CentOS6.5_x64InfluxDB版本:1.1.0 数据压缩可以参考: https://docs.influxdata.com/influxdb/v1.1/concepts/stora ...
- Java多线程之Semaphore信号量
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6557874.html 学过操作系统的对 信号量 这个词应该不陌生,它是用来进行进程间通信,控制对 临界区 ...
- qt坐标系统与布局的简单入门
qt坐标系统 qt坐标系统比較简单 ); 上面的代码把button显示为父窗体的20,20处宽度为100,高度为100 接下去是布局 qt里面布局须要增加<QLayout.h>这个头 ...
- 【shell】定时删除DB2表数据
使用db2的时候,有时候需要对表数据进行删除,防止数据太多,造成数据库空间满了 以下是一个定时删除表tmp,tm1中id为1的数据的脚本 #!/bin/sh ##------------------- ...
- Linux开机启动时执行脚本的方法
方法 1 – 使用 rc.local利用 /etc/ 中的 rc.local 文件在启动时执行脚本与命令.我们在文件中加上一行来执行脚本,这样每次启动系统时,都会执行该脚本.不过我们首先需要为 /et ...
- 代理服务 SQUID 测试
第一部分:SQUID基础 Squid代理服务的基本配置: http_port 3128 #设置监听的IP与端口号 cache_mem 64 MB ...
- Mysql分页之limit用法与limit优化
Mysql limit分页语句用法 与Oracle和MS SqlServer相比,mysql的分页方法简单的让人想哭. --语法: SELECT * FROM table LIMIT [offset, ...