批量格式化hosts
2018-04-03 本文已影响3人
佛心看世界
做为程序员一员,做开发久了,是不是hosts里面的IP是这样子的。
host直接打开HOST,要找一下哪些IP下有绑定哪些域名,还要找来找去的。在linux下,倒是可以直接
cat /etc/hosts | grep 你想要找的IP
但是也不很直观, 做为一个比较强迫证我的我,喜欢把所有的IP整理在一起。 一打开,就知道哪个IP下有哪些域名。 简单明了。
格式化后的代码不多说了,直接代码了,上面有注释:
#!/bin/bash
#要格式化的文件 hosts
file_name=/etc/hosts
#清除注释跟空格
sudo sed -ri '/^#/d;/^$/d;' "$file_name"
#取出host下的所有IP
sudo cat "$file_name" | awk '{print $1}' | sort | uniq > /tmp/ip
#循环进行调整
for i in `cat /tmp/ip`
do
sudo sed -ri '/'${i}'/{H;d;};$G' "$file_name"
done
#格式化多个空格跟tab,替换成1个空格
sudo sed -ri 's/[ \t]+/ /g' $file_name
rm /tmp/ip
谢谢大家的查阅。