Chinaunix

标题: 求一个批量删除文件特定内容的脚本或程序 [打印本页]

作者: xiyunt    时间: 2006-12-29 22:09
标题: 求一个批量删除文件特定内容的脚本或程序
现在有2万个左右在不同子目录下的网页需要修改,windows下我有办法解决,linux才学,所以不会。求大家帮忙给个脚本。
要求比较简单,就是删除那2万个网页中绝大多数都含有的相同代码.
比如:<img src="../../../countnew/nalogd.php?counter=1&url=<?=$HTTP_SERVER_VARS[HTTP_REFERER]?>" width=0 height=0></img>
我翻了以前的贴子有个这样的脚本,但好像不合适我用。大家看看。
#!/bin/bash
####  please input ..............####
dir="/home/www"
old="sina.com"
new="sohu.com"
####  main program ..............####
files=`ls $dir -l | awk '{ print $8 ; }'`
for file in ${files} ; do
        if [ ! -d $dir/$file ];then
        sed "s/$old/$new/g" $dir/$file|tee $dir/$file  > /dev/null
        fi
done
作者: 零二年的夏天    时间: 2006-12-30 08:49
可以使用find遍历目录得到文件列表,使用sed等的字串替换,在循环中替换。

要注意的问题是处理好 " 与 / 。
作者: xiyunt    时间: 2006-12-30 11:12
如何处理 /  和 " 哦,我实在没办法。老大们帮帮忙。
作者: xiyunt    时间: 2006-12-30 11:30
我想到了,如果这样定义好像就可以了,old="<img src.* width=0 height=0><.*img>"然后用find遍历,不过有人给我个完全正确的脚本最好。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2