Bashでファイルの数をすばやく変更するには?

Bashでファイルの数をすばやく変更するには?

私のTerraform TFファイルには1行あります。

green_nodes_asg_instance_count = 0

$blue_nodes_asg_instance_count私は=に変更したいです。3結果は次のとおりです。

green_nodes_asg_instance_count = 3

私はこれを試しましたが、うまくいきません。

sed -i 's/\(.*\)green_nodes_asg_instance_count\(.*\)=\(.*\)0/\1green_nodes_asg_instance_count\2=\3\$blue_nodes_asg_instance_count/g' test.tf 

ベストアンサー1

  • \(.*\)パターンの先頭に含めてそれ自体に置き換えることは役に立ちません。
  • 2番目、3番目のグループも同じです。自分で交換してください
  • green_nodes_asg_instance_countあまり役に立ちませんgreen_nodes_asg_instance_count

移転したい場合

green_nodes_asg_instance_count = 0

入力する

green_nodes_asg_instance_count = 3

0それでは何も変わりません。

sed '/green_nodes_asg_instance_count *= *0/s/0/3/' test.tf
  • /green_nodes_asg_instance_count *= *0/住所、これは、次のコマンドが正規表現に一致する行でのみ実行されることを意味します。*スペースの後に複数のスペースを追加しました。
  • s/0/3/ s0代替品と交換してください

おすすめ記事