Solaris에서 두 개의 html 태그 사이에 코드 조각을 넣습니다.

Solaris에서 두 개의 html 태그 사이에 코드 조각을 넣습니다.

Solaris HTML 파일에서 html 태그와 head 태그 사이에 어떻게 삽입합니까? Bash 스크립트를 통해.

다음과 같은 html 태그가 있습니다.

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:arf="http://scap.nist....-format/1.1" lang="en">

<html....>이 "SOLARIS" 실행 HTML 파일의 텍스트 파일에 작성된 스크립트를 긴 태그 앞과 태그 앞(두 태그 사이를 의미 )에 삽입하고 싶습니다. <head>어떻게 해야 합니까?

bash 명령을 사용하여 한 번에 하나의 파일과 폴더 디렉터리의 여러 파일을 테스트하고 싶습니다. BASH 코드에서 폴더 경로를 사용해야 합니까? BASH 코드에서 FOR 루프나 상호 작용을 사용해야 합니까? 올바른 코드는 무엇입니까? 참고: 이는 LINUX가 아닌 SOLARIS에서 실행되는 html 파일입니다. 내 HTML 파일의 이름은 입니다 report.usc20.html.

내 파일에 사용하려는 스크립트 줄은 다음과 같습니다 backbutton_and_scroller_script.txt.

<div id="button"><a href="http://.....index.php">Back To The Hardening Page</a></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="http://arrow.scrolltotop.com/arrow78.js"></script>
<noscript>Not seeing a <a href="http://www.scrolltotop.com/">Scroll to Top Button</a>? Go to our FAQ page for more info.</noscript>

답변1

사용하는 간단한 방법 sed(그러나 몇 가지 문제에 주의할 필요가 있음):

sed 's/<head/your-js-text<head/'

그러면 <head>레이블 앞에 텍스트가 삽입됩니다. 알아야 할 주요 "문제"는 JavaScript에서 잘못 해석될 수 있는 문자를 올바르게 "이스케이프"하는 방법입니다 sed. 작은따옴표 및 정방향/백슬래시. 또한 HTML 파일의 형식이 잘못되어 여러 태그가 포함된 경우 <head>각 태그가 교체됩니다.

편집: 자바스크립트에 슬래시가 많은 경우 sed명령에서 문자를 슬래시로 바꿀 수 있는 기능을 사용할 수 있습니다 s. 다음 중 하나도 작동합니다.

sed 's^<head^your-js-text<head^'

sed 's%<head%your-js-text<head%'

sed 's#<head#your-js-text<head#'

관련 정보