我正在寻找一个单行脚本来重新排序服务器上的主机文件
192.168.1.10 server1.domain.com server1 server1.managment
服务器上的主机名是“server1”(始终是短域)我正在寻找输出
192.168.1.10 server1 server1.domain.com server1.managment
我希望我可以在 bash 中使用 sed 或 awk 来做到这一点,但为此苦苦挣扎
答案1
简单的awk
解决方案。
awk '{print $1"\t" $3 " " $2 " " $4}' /etc/hosts
我们只是交换列,awk
使用空格作为标准分隔符,所以我们说打印第 1 列,然后是一个制表符,然后打印第 3 列,然后是一个空格...然后是 2 等等...