+ -
当前位置:首页 → 问答吧 → perl能否实现目录文件的递归替换

perl能否实现目录文件的递归替换

时间:2010-12-09

来源:互联网

我现在有这样一个问题,有一个/data 目录,里面有很多的子目录,这些目录中都有程序文件,我想把所有的文件内容进行替换,包括子目录的文件。
我用了  perl -i -pe  's/aa/bb/'  /data/*   ,只能替换掉/data目录下的文件,而/data目录下的子目录中的文件不能进行替换。大家有没有好的办法?

作者: li_000828   发布时间: 2010-12-09

用File::Find

作者: 小鹭   发布时间: 2010-12-09

回复 小鹭


    File::Find我只知道进行文件名的查找,我想对文件的内容进行查找替换。

作者: li_000828   发布时间: 2010-12-09

for file in `find  ./test -print `; do  
   if [ -f $file ] ; then
       perl -i.bak -pe 's/aa/bb/' $file;
   fi;
done

作者: 小鹭   发布时间: 2010-12-09

回复 小鹭


    3q,

作者: li_000828   发布时间: 2010-12-09