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"来实现.
插件地址:
在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的空⾏sql语句替换表中内容

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。