ホストテーブルで利用可能なIPアドレスを確認するには?

ホストテーブルで利用可能なIPアドレスを確認するには?

私は/ etc / hostsファイルを読み込み、ホストファイルで利用可能なIPを決定するスクリプトを書いています。

ホストファイルは次のとおりです。

172.17.164.2 System1
172.17.164.3 System2
172.17.164.4 System3
172.17.164.5 System4
172.17.164.6 System5
172.17.164.7
172.17.164.8
172.17.164.9
172.17.164.10

私の質問は、各行をどのように読み、2番目のフィールドが欠落しているかを確認することです。ホストファイルにホスト名がない場合は、IP を使用できることを意味します。

ベストアンサー1

awk(タグで提案されているように)を使用して、特定のレコードのフィールド数が1であることを確認できます。 「無料」アドレスのリストを取得するには:

awk '(NF == 1) { print; }' </etc/hosts

/etc/hostsファイルにコメントが含まれている場合は、単純すぎる可能性があります。コメント行をスキップしてフィルタリングできます。

awk '/^#/ { next; } (NF == 1) { print; }' </etc/hosts

awkスクリプトはパターン(または条件)とアクションのペアです。

  • 最初のスクリプトで - 数量をawk確認してください。NFフィールド行(デフォルトではスペースで区切り)を入力し、単一のフィールドを使用して各行を印刷します。
  • /etc/hosts2番目のスクリプトは、「#」で始まる行を確認し、この行の追加処理をスキップする方法(対応する行にジャンプ)して、コメント付きのファイルの問題を解決しますnext

おすすめ記事