批量格式化hosts

作者: 佛心看世界 | 来源:发表于2018-04-03 15:38 被阅读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
    
    

    谢谢大家的查阅。

    相关文章

      网友评论

        本文标题:批量格式化hosts

        本文链接:https://www.haomeiwen.com/subject/bxqchftx.html