file1からIPを取得し、file2から更新

file1からIPを取得し、file2から更新

2つのファイルがあります。 1つには、別のファイルで置き換える必要があるIPのリストが含まれています。私のファイルは次のとおりです。

ファイル1.txt

173.43.24.67
170.34.24.59
172.83.47.83
160.28.39.49

ファイル2.txt

### HostList ##
[group]
dev  ansible_host=pub_ip1 ansible_user=ubuntu  
test ansible_host=pub_ip2 ansible_user=ubuntu  
prod ansible_host=pub_ip3 ansible_user=ubuntu
uat  ansible_host=pub_ip4 ansible_user=ubuntu

期待される出力

### HostList ##
[group]
dev  ansible_host=173.43.24.67 ansible_user=ubuntu  
test ansible_host=170.34.24.59 ansible_user=ubuntu  
prod ansible_host= 172.83.47.83 ansible_user=ubuntu
uat  ansible_host=160.28.39.49 ansible_user=ubuntu

上記の目標を達成するために誰かが助けることができれば良いでしょう。

ベストアンサー1

まず、file2.txtの最初の2行を削除してから、次の操作を行う必要があります。

$ paste file1.txt file2.txt  | tr '=' ' ' | awk '{printf("%s %s=%s %s\n",$2,$3,$1,$5)}' | column -t
dev   ansible_host=173.43.24.67  ansible_user
test  ansible_host=170.34.24.59  ansible_user
prod  ansible_host=172.83.47.83  ansible_user
uat   ansible_host=160.28.39.49  ansible_user

おすすめ記事