+ -
当前位置:首页 → 问答吧 → 请教大家一个全文件夹内文本替换的问题.

请教大家一个全文件夹内文本替换的问题.

时间:2011-05-06

来源:互联网

大家好,最近我在工作时候,遇到一个perl的应用问题。
目标很简单
我要把一个文件夹内,所有的文件(包括各级子目录里面的)中的
wangsw替换成swwang。
我查了查资料,用了File::Find模块。
但是,却没成功,总是运行后,进入死循环出不来~~
下面是我的代码:
  1. #! usr/bin/perl -w
  2. use strict;
  3. use File::Find;
  4. find(\&a. '\home0\xixi\test');
  5. sub a {
  6. push @ARGV, $_;
  7. while (<>) {
  8. s/wamgsw/swwamg/;
  9. print;
  10. }
  11. }
复制代码
由于模块内部,对$_已经存放了相关了文件名。
我在替换的时候,想尽量避免$_和while内$_冲突的问题,可一直没解决办法。
希望高手能指点一下
可能我思路不对,我这个应用,该怎么写呢?
谢谢大家:)

作者: xixizhihua   发布时间: 2011-05-06

  1. sed -i 's/wangsw/swwang/g' *
复制代码

作者: lkk2003rty   发布时间: 2011-05-06