複数の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'
答え2
知っていた。実行方法は次のとおりです。
find . -name \*.html | xargs sed -i '/<form/a\<input type="hidden" name="csrf_token" value="$csrf_token" />'
答え3
これはPerlシングルライナーを使用して簡単に達成できます。
perl -i.bkp -pe 's|<form|<form\n<input type="hidden" name="csrf_token" value="$csrf_token" /> |' *.html
-i 内部編集用
.bkpはこの拡張子を持つバックアップファイルを生成します。