![重新排序 Linux 上的主机文件](https://linux22.com/image/129177/%E9%87%8D%E6%96%B0%E6%8E%92%E5%BA%8F%20Linux%20%E4%B8%8A%E7%9A%84%E4%B8%BB%E6%9C%BA%E6%96%87%E4%BB%B6.png)
我正在寻找一个单行脚本来重新排序服务器上的主机文件
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 等等...