在服务器中,我们经常会碰到各种批量修改的情况,说个做网站常用的,就是批量修改网站版权的问题,网站有几千上万个文件,单个修改很麻烦,本文就说下如何在linux系统下进行批量修改文件的命令。
演示系统:linux系统,unix系统没试过,谁有空也可以试试
演示系统:centos系统
演示程序:ecshop
演示软件:Navicat for MySQL (mysql管理工具)
演示软件:EditPlus (文件编辑器)
本文作者最近在二次开发ecshop程序的网站,程序是使用一个ecshop下属公司的程序,网站内有大量的各种网站url及版权信息,作用使用一些工具 批量搜索了下,光文件中就几百个文件中包含了这些版权信息,而领导要求就是所有版权信息都去掉,最少让前台看不到这些信息。
而作为程序,重复性的工作,没人去愿意做,那么有什么方法完美除去ecshop版权信息呢,作者试了半天,如果专门去写一个遍历网站目录所有文件的程序,感觉有些大题小作很麻烦也很累,想了半天,发现linux系统本身就有一个这种命令,就是批量修改文件内容的命令sed,本文就说下如何在linux系统下用这个命令进行批量替换。
第1步:登录到linux终端。
第2步:执行“sed -i "s/www.pc515.com/pc515.com/g" `grep www.pc515.com -rl /mnt/www/www.pc515.com`”.
电脑技术网注:sed -i "s/需要替换的内容/替换后的内容/g" `grep 需要替换的内容 -rl 需要替换的路径`
ps:如果有多个版权信息,大家可多替换几次,因为有些时候网址是不一样的,比如说网址,有些不一样。
第3步:执行完之后,网站上的所有版权信息或是相应的信息都替换完了,之后就是数据库了。
第4步:使用数据库连接工具(Navicat for MySQL)连接到自己的数据库。
第5步:找到自己的数据库,打开自己的数据库,右键转存SQL文件。
第6步:等等若干时间,存完后,使用EditPlus软件打开刚刚保存的SQL文件。
第7步:Ctrl+H,按提示替换网址和相应的ecshop版权信息,具体不需要我在说了。
第8步:替换完,保存SQL文件,并上传到服务器。
第9步:先把数据库中的表都删了。
电脑技术网注:如果不放心可以先备份。
第10步:在终端登录到mysql数据库,执行导入数据库即可。
电脑技术网注:如果mysql怎么导入sql文件,请参考sql文件如何导入mysql数据库