平时在linux平台搭建应用时,有时候需修改IP,当遇到ip较多时,一个一个手动改起来太麻烦,海盗空间的小编在这里准备了一段指量修改ip的脚本,供大家参考。

Linux批量修改IP脚本使用教程如下:
本脚本主要是用来批量替换修改IP与字符等
特别提醒,因为该脚本自身本来今有一些特殊符号,使用过程中切勿用如 * \ / 等符号,这样会把脚本上的这些符号一同换掉,下次就无法使用了,
当然你可以备份脚本,出现问题好及时更正回来。
使用方法:把如下脚本复制关粘贴到文本文档,命名为Replacement.sh并上传到根目录。

#!/bin/bash #替换的文件夹目录 会自动查询子目录 name_dir="$1" #替换前 B="$2" #替换后 A="$3" finddir="/tmp/i8520-98w7e9wqe_find-0806" rm -rf $finddir mkdir -p $finddir #为了得到带空格的文件路径 "" 加了双引号 保存到 finddirA.txt 文件 ,简单说列出所以文件路径保存到finddirA.txt #-name "*" 表示 路径下的所有文件 find $name_dir -type f -name "*" | awk '{print """$0}' | awk '{print $0"""}' > $finddir/finddirA.txt if [ ! -s "$finddir/finddirA.txt" ];then echo -e "创建路径文件失败,请确认路径是否存在!!!"  else echo -e "创建路径文件成功" fi sleep 1 #把预设转换代码加到 文件路径前面 并保存 到 finddirA.sh 脚本 。简单说finddirA.txt转换成具体功能脚本finddirA.sh awk '{print "sed -i -r "s/$A/$B/g" "$0}'  $finddir/finddirA.txt >$finddir/finddirA.sh chmod -R 750 $finddir/finddirA.sh #替换字符得到完美的执行脚本 这里不要改 sed -i "s/\$A/$B/g" $finddir/finddirA.sh sed -i "s/\$B/$A/g" $finddir/finddirA.sh if [ ! -s "$finddir/finddirA.sh" ];then echo -e "创建替换脚本失败" else echo -e "创建替换脚本成功" fi sleep 1 MYlist="${finddir}/grep_list.txt" grep -rEn "${B}" "${name_dir}"  | grep -v "Binary file" > ${MYlist} #读取匹配文件有几行。几行就是几个 list_123=$(cat ${MYlist} | wc -l) #---------------------------------------------------------------- #不知到为什么会卡在这里所以判断一下直接推出 abcdfe="=========================================" list_BUG="0"   if [ ! x${list_BUG} = x${list_123} ];then     echo "${abcdfe}"     else        listBUG=$(cat $finddir/finddirA.txt | wc -l)        echo -e "${abcdfe}\n替换失败!一共查询 ${listBUG} 个文件 替换前${B}不存在 脚本已经终止运行!";exit   fi #---------------------------------------------------------------- #获取匹配文件第一行 作为文件路径使用 来获取文件MD5 list_abc=$(sed -n 1p ${MYlist}) #${list_abc%%:*} 截取字符获得文件路径 md5sum ${list_abc%%:*} > $finddir/md5sum_a.txt mymd5sum=`sed -n 1p $finddir/md5sum_a.txt` #执行替换脚本 echo "正在执行替换脚本请稍候......" cd $finddir && ./finddirA.sh if [ ! $? == 0 ];then     echo -e "\n执行替换脚本失败 !!!替换前字符 ${B} 不符合 sed 规范\     请查看 sed -h 帮助\n其他帮助:https://www.cnblogs.com/f-ck-need-u/p/7499309.html"  else     #验证前后MD5直判断是否替换成功 这里只验证一个文件,应为只要 sed 输入符合规范 finddirA.sh脚本都会执行     find_p=`find $name_dir -type f -name "*" | awk '{print """$0}' | awk '{print $0"""}' | wc -l`     mymd5sum_x=`md5sum ${list_abc%%:*} | sed -n 1p`     if [ ! x${mymd5sum:0:32} = x${mymd5sum_x:0:32}  ] ;then     echo "替换成功!一共查询 ${find_p} 个文件。匹配到 ${list_123} 个文件"         else        echo "ERR"      fi fi  sleep 1 

 

如想执行指量替换IP,使如想替换data目录里所有文件的ip
输入如下命令:

cd / && ./Replacement.sh /data 111.111.111.111 110.110.110.110

 

注:
data是目录
111.111.111.111便是替换前的原IP.
110.110.110.110便是替换后的新IP

 

 

声明
1:本站内容如若侵犯到您的权益,请联系我们,我们会第一时间删除!联系QQ:502428990。
2:使用本站资源需要您有一定的技术基础,否则将无法使用,如果你没有相关技术知识,请勿下载,虚拟物品,概不退换。
3:本站游戏资源不保证代码的完整性,不保证游戏无BUG,要求完美者请勿下载。
4:本站所有资源标价皆是资源本身的价格,不包含任何技术服务!要包技术服务的价格肯定是不一样的。
5:本站资源旨在为全网技术爱好者或游戏开发人员提供游戏素材,方便您作为技术研究或开发学习等用途,请勿商用。
6:本站资源非您个人定制,所以里面的游戏玩法,游戏画面以及游戏设定,装备掉落,金币等游戏初始值可能都不是您预期的效果,您需要自行研究修改完善,或找专业人员按您的想法定制。