Alex_Sune 发表于 2003-3-23 14:12:36

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

在BASH下如何把指定目录下的所有文件(包含所有子目录下的所有文件)中的指定字符串替换成另一个个字符串?以root登陆,对所有文件有读写权。请给出整个命令,谢谢!!!

sjhs 发表于 2003-3-25 17:48:08

单独一条命令好像不行吧!用SHELL编程比较简单,有几个命令忘了, 等回去看看,再告诉你吧!

sjhs 发表于 2003-3-27 18:32:37

#!/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"
其中?为要替换的字符串

sjhs 发表于 2003-3-27 19:03:02

cp -r $aa $target/`ls $aa|sed 's/|?/ok/'`   #其中两边为反引号, 中间为单引号 。? 为要替换的字符串, ok为被替换成的字符串.
页: [1]
查看完整版本: 如何在多个文件中替换字符串?