如何在站点静态文件下查找某关键字并修改文件名?
生活随笔
收集整理的這篇文章主要介紹了
如何在站点静态文件下查找某关键字并修改文件名?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前段時間,因關于某些政治性的內容,公司部分站點需要做處理,而且數據庫只保存近幾年的,無法通過數據庫刪除或修改早些年的靜態頁面數據
站點文件個數,不會少于幾百萬,我想大家不會一個個手工查找吧!也許真的有人那樣搞呢,我只能“呵呵”了
用程序思想去解決工作中遇到的問題,很有必要!
站點環境:linux
可以使用的shell腳本處理,因為他們是天生在一起的,而且處理上很方便,不過一開始有一個問題木有考慮到,后面再講
上代碼,shell代碼如下:
#!/bin/sh #?author:?凹凸曼 #?email:?jar-c@163.comd=$1 delname=$2 #delname1=$3 if?[?-z?$d?] thenecho?"站點不存在"?exit?0 fi if?[?-z?$delname?] thenecho?"關鍵字不存在"exit fi log=./search.log find?$ozvdkddzhkzd -type?f?-iname??"*.htm"?-o?-type?f?-iname?"*.html"?-o?-type?f?-iname?"*.shtml"?-o?-type?f?-iname?"*.shtm"|xargs?grep?"$delname"?>>?${log} #|?cut?-d\:?-f1??|?awk?'{system("mv?"$1"?"$1"xxx"?)}' sleep?1while?read?linedo?d=`echo?$line?|?cut?-d\:?-f1`mv?"$d"?"$d"xxx?|?echo?"$d?修改為?$d"x?>>result.logsleep?1 done?<?${log}mv?${log}?${log}`date?+%Y%m%d%H%s`本地測試了,木問題,上服務器測試,找不到相應的關鍵字的頁面
問題:頁面是亂碼,原因:系統編碼造成的,不想改變正在運行中的環境編碼
就用python重新寫了一個腳本程序進行處理如下:
#?-*-?coding:utf-8?-*- #?author:?凹凸曼 #?email?:?jar-c@163.comimport?os import?os.path import?re #版本要求:2.6至3.0以下 class?ReFile():#目錄__rdir="./"__type=['.htm','.html','.shtml','.shtm']#文件名后綴增加?sss__dsuffix='sss'#處理的關鍵字__dealstr=''__log="./re.log"def?__init__(self,dir,dealstr):self.__rdir=dirself.__dealstr=dealstrdef?getFiles(self):for?parent,dirnames,filenames?in?os.walk(self.__rdir):for?filename?in?filenames:dirfilename=parent+'/'+filenameif??os.path.splitext(filename)[1]?in?self.__type:try:data=open(dirfilename,'r').read().decode("gbk").encode("utf-8")except?Exception,e:data=open(dirfilename,'r').read()mm=re.search(self.__dealstr,data)if?mm:self.saveLog(dirfilename)os.rename(dirfilename,dirfilename+self.__dsuffix)else:continueelse:continuedef?saveLog(self,c):file=open(self.__log,'a')file.write(str(c)+'\n') if?__name__=='__main__':#ReFile#@param1:?站點路徑?如:/data/site#@param2:?關鍵字?如:凹凸曼博客|apoylrefile=ReFile("/data/site","凹凸曼博客|apoyl")refile.getFiles()總結:系統運維中,常常需要把處理問題的思路實現成具體程序,去處理一些繁瑣的問題
相關文章推薦:
Linux有問必答:如何在VMware ESXi虛擬機上設置靜態MAC地址
ArchLinux(2013)中的網絡配置和靜態IP時DNS刷新的解決方法
Linux服務器靜態IP設置與Proftpd連接速度優化
本文來自:愛好Linux
本文鏈接:http://www.ahlinux.com/mainte/9345.html
轉載于:https://blog.51cto.com/9626185/1579760
總結
以上是生活随笔為你收集整理的如何在站点静态文件下查找某关键字并修改文件名?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql用户创建,及授权
- 下一篇: 【插件开发】—— 13 GEF双击模型事