Linux 下的多文件字符替换问题

不知道大家在工作中有没有出现过以下或者类似的问题:有一些字符在很多的文件中都出现过(比如说一些链接或地址),但是现在项目需要把它们全部替换成新的字符或者新链接,这样就产生了一些麻烦 ... 如果按照平常的步骤去修改,首先我们要找出所有需要替换的文件,然后用一些编辑器的“查找与替换”功能去替换,但是如果文件成百上千,我们又能如何应对呢,真一个个的去 Replace ... 那恐怕工作还没做完你就先倒下了 ... 于是,就想到利用一个交互式的 Shell 脚本去实现以上的问题 ... (以下代码已经经过测试,在Red Hat 4.4.4-13下运行正常 :)

#!/bin/bash

echo "Word You Want To Search :";read w1
echo "Word You Want To Change To:";read w2
echo "Directory You Want To Search:";read path
echo "Are You Sure Of What You Have Inputed?(y/n):";read confirm
if [ ${confirm} = "Y" ] || [ ${confirm} = "y" ]
then
echo "Now Processing ..."
for filename in `grep -l $w1 -r $path`
do
echo "Deal with $filename ..."
sed "s/$w1/$w2/g" $filename > $filename".tmp"
rm -f $filename
mv $filename".tmp" $filename
echo "[done!]"
done
else
echo "Please Input Any Key To Exit.";read pause;exit 1
fi

运行 convert.sh 就可以按提示依次输入“需要被查找和替换的字符串”、“需要替换成的字符串”、“查询目录”来替换你所要替换的字符咯 (默认目录下的所有文件都将被查寻,符合要求的将被替换) 怎么样,很方便吧,嘿嘿 ... 觉得好的就顶哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值