awkコマンドの結果から文字列を抽出して出力ファイルにコピーする必要があります。

awkコマンドの結果から文字列を抽出して出力ファイルにコピーする必要があります。

terraform.tfstateファイルから文字列を抽出したいと思います。

次のackコマンドを実行しています。 ...

awk '/nifi1a/{x=1}x&&/private_ip/{print;exit}' terraform.tfstate

このコマンドを実行すると、次の結果が表示されます。

"private_ip": "10.42.229.45",

2番目の二重引用符セット間の文字列を抽出して10.42.229.45出力ファイルにコピーしたいと思います。

誰もがこれを行う方法に関するガイダンス/アドバイスを提供できますか?

ベストアンサー1

おそらく必要なものは次のとおりです。

awk -F'"' '/nifi1a/{f=1} f && /private_ip/{print $4; exit}' terraform.tfstate

ただし、入力例がなければこれは推測にすぎず、コードの元の部分が最適ではない可能性があり、必要なものを達成するためのより良い(より簡潔で、移植可能で強力ななど)方法があるかもしれません。

あなたの質問を読んでいる人が「terraform.tfstateファイル」または他の入力形式が何であるかを知っていると仮定しないでください。常に簡潔でテスト可能なサンプル入力と期待される出力を表示することができます。

おすすめ記事