여러 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는 이 확장자를 가진 백업 파일을 생성합니다.