vim/sed/awk を使用して複雑なテキストを追加する方法

vim/sed/awk を使用して複雑なテキストを追加する方法

次の前の投稿(コマンドラインでvimを使用してファイルの途中にテキストを追加するには?&別のファイルのパターン(タグ)の前にあるファイルの内容を挿入するには?)、私はもう少し複雑なケースがあり、あなたのアドバイスが必要です。次の Test.conf ファイルがあります。

server {
    listen       80;
    server_name  jenkins2;

    location /DE06/ {
        proxy_pass     http://jenkins2:18015/DE06/;
    }
}

コマンドを実行したいので、最終的にファイルの内容は次のようになります。

server {
    listen       80;
    server_name  jenkins2;

    location /DE15/ {
        proxy_pass     http://jenkins2:18015/DE15/;
    }

    location /DE06/ {
        proxy_pass     http://jenkins2:52716/DE06/;
    }
}

つまり、ジェンキンス2という単語が最初に表示されることを見つけたら、次のものを追加する必要があります。

location /DE15/ {
    proxy_pass     http://jenkins2:18015/DE15/;
}

正しいコマンドが何であるかを知っていますか?

ベストアンサー1

vim +/jenkins2 +j +":r insert.txt" +gg=G +wq testfile.txt

その中で、insert.txtには追加したいコードセグメントが含まれており、testfile.txtは編集したいファイルです。

しかし、vimが最高のツールであるかどうかはわかりません。

  • +/jenkins2ジェンキンス検索2
  • +j1行下に移動
  • ":r insert.txt"挿入するファイルを読みます。引用符に注意してください!
  • +gg=G自動的にファイルのインデント
  • +wqそしてそれを書いてください。

おすすめ記事