如何在多个文件中替换字符串?

如何在多个文件中替换字符串?

在BASH下如何把指定目录下的所有文件(包含所有子目录下的所有文件)中的指定字符串替换成另一个个字符串?以root登陆,对所有文件有读写权。请给出整个命令,谢谢!!!
单独一条命令好像不行吧!  用SHELL编程比较简单,有几个命令忘了, 等回去看看,再告诉你吧!
#!/bin/sh

#renname

echo -e -n "\ninput sourcedirect:"

read sorce

echo -n "input targetdirectory:"

read target

cd $sorce

for aa in  `ls *\?*`

do

if [ -f $aa ]
then
cp -r $aa $target/`ls $aa |sed 's/\?/ok/'`

fi

done

echo "ok"
其中?为要替换的字符串
cp -r $aa $target/`ls $aa|sed 's/|?/ok/'`   #其中两边为反引号, 中间为单引号 。  ? 为要替换的字符串, ok为被替换成的字符串.