Linux批量跨机房交互式替换文件内容脚本

104 阅读1分钟
#!/bin/bash

read -p '请输入你要搜索的路径:' path
echo '替换查找的路径是:' $path
cd $path
read -p '请输入你要检索的内容:' oldIp

echo '要替换的内容是:'$oldIp

read -p '请输入你要替换的内容:' newIp

echo '替换后的内容是:'$newIp

findFile=$(find ./ -name "*.xml" | grep -rl '$oldIp')
echo "查找到的文件是:" 
for file in $findFile 
  do 
     echo $path$file 
  done
if [ -n "$findFile" ]; then 
  echo $findFile | xargs sed -i "s/'$oldIp'/'$newIp'/g"
  echo "将上海机房数据DB链接替换成北京机房DB链接结束:"$?
else 
  echo "没有要替换的内容"
fi
  • 执行脚本会要求用户输入关键字,需要替换的内容为用户输入内容
  • 要查找的内容文件在文中指定为‘.xml’格式,读者可以替换成别的
  • 脚本中关键步骤操作均有提示打印,方便调试和查看