shell在一个大文件找出想要的一段字符串操作技巧
昨天端午,晚上的时候接了一个电话,我朋友的公司,数据库被两个工作没多久的phper给弄坏了,具体就是把一个字段值,给全表弄成一个了名字了,当然这个是可以配置了禁止全表更新数据库,这下可急坏了,找到我,叫我给看一下,他们每天3:00是有备份的,按天备份,还好不是增量的,当然binlog日志也是开启的,我看了一下他们的备份文件是
[root@AY1406121449173218ccZ ~]# ls -lha /www/datebak/2016-06-09.sql -rw-r--r-- 1 root root 4.9G Jun 9 03:03 /www/datebak/2016-06-09.sql [root@AY1406121449173218ccZ ~]#
他们整个备份文件有5G,当然恢复的效果有多种,我想了一下,把他们今天这一整天的注册的用户给弄出来,也没有多少就10多个,然后就是想办法在这5个G的数据中把我需要的表找出来。
[root@AY1406121449173218ccZ datebak]# grep -n "ROP TABLE IF EXISTS `activity`" 2016-06-09.sql -bash: activity: command not found 22:DROP TABLE IF EXISTS `activity`; 67:DROP TABLE IF EXISTS `activity_img`; 93:DROP TABLE IF EXISTS `activity_recommended`; 124:DROP TABLE IF EXISTS `atest`; 149:DROP TABLE IF EXISTS `black_user`; 175:DROP TABLE IF EXISTS `category`; 204:DROP TABLE IF EXISTS `class_grade`; 232:DROP TABLE IF EXISTS `collocate_banner`; 262:DROP TABLE IF EXISTS `course`; 330:DROP TABLE IF EXISTS `edu_account_bind`; 366:DROP TABLE IF EXISTS `function`; 392:DROP TABLE IF EXISTS `head_img`; 418:DROP TABLE IF EXISTS `information`; 455:DROP TABLE IF EXISTS `information_img`; 480:DROP TABLE IF EXISTS `installed_app`;
通过 shell的 grep 这个命令,我们可以找出我们需要的表中的行数
sed -n '5112,5153p' 2016-06-09.sql > tb_user_info.sql
再通过sed 命令将我们找到的行号写入另一个文件中,这样,基本就解决了,然后,把我导出来的数据 给导入原来的数据中,然后再将导出的一天的数据给导入,就解决了问题,整个解决问题的时间,没有超 过1小时,主要是shell 没有经常用,还查了下资料,当然思路也是最重要的,解决问题,第一个,要有一个清析的思路,把整个过程,好好过几下,要不然,考滤不全,会造成更多的问题
shell在一个大文件找出想要的一段字符串操作技巧相关推荐
- 两个大文件找出相同的一条记录
#include "stdafx.h" #include <iostream> #pragma warning(disable : 4786)//这句话的位置必须是这里 ...
- python求近似值_python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配...
已知一个元素,在一个list中找出相似的元素 使用场景: 已知一个其它来源的字符串, 它有可能是不完全与我数据库中相应的字符串匹配的,因此,我需要将其转为适合我数据库中的字符串 使用场景太绕了, 直接 ...
- python 已知一个字符,在一个list中找出近似值或相似值, 模糊匹配
已知一个元素,在一个list中找出相似的元素 使用场景: 已知一个其它来源的字符串, 它有可能是不完全与我数据库中相应的字符串匹配的,因此,我需要将其转为适合我数据库中的字符串 使用场景太绕了, 直接 ...
- linux下比较文件并输出,Linux使用diff命令比较文件找出文件之间相同的部分
如果你需要比较系统文件的内容,那么你就会是使用到diff命令,可找出文件之间相同的部分,下面小编就给大家详细介绍下Linux diff命令的用法. diff 命令是 linux上非常重要的工具,用于比 ...
- Java头文件找出循环依赖_Node.js 如何找出循环依赖的文件?如何解决循环依赖问题?...
本文重点是讲解如何解决循环依赖这个问题.关心这个问题是如何产生的,可以自行谷歌. 如何重现这个问题 // a.js const {sayB} = require('./b.js') sayB() fu ...
- 服务器搭建本地局域网下载文件(sz下载大文件总是出问题)
sz 大文件的时候传到一半中断不传输 1)进入到文件目录(该目录将成为根目录) 2) 执行python -m SimpleHTTPServer,获取端口号,一般port是8000.如果想更改端口号,直 ...
- Linux Shell脚本专栏_找出占用CPU/内存过高的进程_05
文章目录 找出占用CPU/内存过高的进程 1. 脚本 2. 运行脚本 3. 效果图 找出占用CPU/内存过高的进程 1. CPU 过高的进程2. 内存 过高的进程 1. 脚本 #/bin/bash e ...
- php301快照劫持代码,js被挂百度快照劫持了,求大神找出代码
[JavaScript] 纯文本查看 复制代码< !-- //页面显示预设置 $(document).ready(function() { //当存在可溢出层时重新定义这些层的高度 var ge ...
- 找出连续最长数字串python_字符串中找出连续最长的数字字符串的实例代码
//1. 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) //功能: //在字符串中找出连续最长的数字串,并把这个串的长度返回, ...
最新文章
- 21种代码的“坏味道”
- 昆明理工大学复试计算机试题,2012年昆明理工大学计算机考研复试试题(.PDF
- dex、apk完整性校验
- Windows Phone 8 获取与监听网络连接状态
- 最经典25本Python编程开发电子书精粹
- 几款免费好用的OCR工具
- 算法设计与分析第三章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
- eyoucms栏目类型介绍
- 文件上传利器SWFUpload入门简易教程(转)
- 《图解HTTP》笔记
- 100多个经典常用的jQuery插件大全实例演示和下载
- 快速排序(填坑法的两种写法以及交换法)
- python读取文件夹中的所有图片并将图片名逐行写入txt中
- C语言输出三阶魔方阵
- Java面向对象和面向过程的区别
- Echarts学习总结(一)-----柱状图
- 01_Dive_into_python (reading note)
- 简易切换图片效果和简易年历
- 26.Nginx详解
- 安科瑞AFL-T系列分流器最大额定电流10kA,结构上≤50A时采用塑料底座固定安装,>50A时直接用铜端子固定安装