ファイルの各行を別のファイルに再帰的に検索し、出力を新しいファイルとして印刷します。

ファイルの各行を別のファイルに再帰的に検索し、出力を新しいファイルとして印刷します。

仮想化された環境から何千ものサーバーのリストを取得する必要があります。ファイルには次の内容があります。

Name          Host
sysserver0012 btesxid432.eu.domain.com
sysserver0015 btesxid433.eu.domain.com
ldap56        essgdb56.rspc-la.domain.com
..

このファイルは vCenter で作成されます。別のvCenterにある仮想マシンのリストを含む別のファイルがあります。例:

sysserver0015.eu.domain.com
sysserver0050.eu.domain.com

最初のファイルの各エントリから一致する文字列を取得し、すべてのホストに対してそのファイルの一致を取得する必要がありますが、問題は最初のファイルにFQDNではなくホスト名しかないことです。あなたがしたこと、検索方法を探したいです。ホスト名が2番目のファイル(フルドメインなし)で見つかった場合は、その行を印刷して新しいファイルに保存します。

したがって、上記の入力から生成された新しいファイルのデモとして、次のように記録されます。sysserver0015 btesxid433.eu.domain.com

ベストアンサー1

または試してみてくださいawk

awk -F"[ .]" 'NR==FNR {SRCH[$1]; next} $1 in SRCH' file2 file1
sysserver0015 btesxid433.eu.domain.com

おすすめ記事