Linuxでのホストファイルの並べ替え

Linuxでのホストファイルの並べ替え

私はサーバー上のホストファイルを並べ替える1行のスクリプトを探しています。

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を印刷する式です。

関連情報