私はサーバー上のホストファイルを並べ替える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を印刷する式です。