テキスト行を一致させた後、新しいテキスト行を挿入しますか?

テキスト行を一致させた後、新しいテキスト行を挿入しますか?

複数のHTMLファイルのフォームタグに隠しHTML入力タグを挿入する必要があります。

私の考えは、すべてのインスタンスを検索することです

<form

見つかった場合は、以下に以下を含む行を挿入します。

<input type="hidden" name="csrf_token" value="$csrf_token" /> 

この問題を解決するための最良の方法は何ですか?私は近い

sed -e '/<form/a\<input type="hidden" name="csrf_token" value="$csrf_token"/>'

ベストアンサー1

それぞれの下に何かを追加するには、キャプチャされたシーケンスを維持したいことを示すために<form追加する必要があります(また、必要だと言いました)。&\n

$ find *.html | xargs sed -ie 's/<form/&\n\<input type="hidden" name="csrf_token" value="$csrf_token"\/>/g'

おすすめ記事