批量修改配置文件内IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量修改配置文件内IP相关的知识,希望对你有一定的参考价值。

cat batch_modify_file.sh
#!/bin/bash
#by lrj 20181110

#收集IP后的文件
file2=$PWD/file2.txt
touch $file2

#检查文件属性
Checking_file(){
read -p "Please input file name:" file1
u1=find / -type f -name "$file1"|xargs ls -l|awk ‘{print $3}‘
u2=echo $USER
[ $u1 = $u2 ] && continue || echo "登陆用户非文件所有者,没有权限修改,文件所有者为:$u1"
dir_file1=find / -type f -name "$file1"
echo "文件全路径为:$dir_file1"
}
#抽取IP
Extract_IP(){
cat $dir_file1|grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}"|sort|uniq -c|sort -rn|awk ‘{print $NF}‘ > $file2
echo "chang IP list:"
cat $file2
}
#替换处理
Replace_IP(){
for line in cat $file2
do
ip1=echo $line
sleep 1
echo "source_IP(原IP): $ip1"
for i in line
do
read -p "dist_IP(替换的IP,如不替换请输入原IP):" ip2
[ $ip1 != $ip2 ] && sed -i "s/$ip1/$ip2/g" $dir_file1 || break
done
done
}

#主函数
main(){
Checking_file
sleep 1
Extract_IP
sleep 1
Replace_IP
}
#调用
main
rm -rf $file2

以上是关于批量修改配置文件内IP的主要内容,如果未能解决你的问题,请参考以下文章

Python3 写的远程批量修改文件内容的脚本

shell----批量修改多个文件中的IP地址

通过配置文件实现修改vue域名

ansible 批量修改密码

Python批量修改文件夹内所有json文件中部分内容

CentOS系统使用配置文件修改IP地址详细教程