日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell在一个大文件找出想要的一段字符串操作技巧

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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在一个大文件找出想要的一段字符串操作技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。