페이지 소스가 있고 이 파일에서 모든 태그를 가져와야 합니다. 순서가 중요합니다. 외부 스크립트와 인라인 스크립트가 모두 필요합니다. 태그가 출력에 포함되어야 합니다. 콘솔 리눅스 도구를 찾고 있어요.
검색을 시도했지만 아무것도 찾을 수 없었습니다. jQuery를 사용하여 이 정보를 얻고 파일에 붙여넣었습니다. 하지만 이 출력에는 이상한 인코딩이 있으므로 전통적으로 구문 분석해야 합니다.
예: 입력:
<html>
<head>
<script src="script1.js"></script>
<script src="script2.js"></script>
<script>alert('hello');</script>
</head>
<body>
<div id="main">...</div>
<script src="footer.js">
</body>
</html>
산출:
<script src="script1.js"></script>
<script src="script2.js"></script>
<script>alert('hello');</script>
<script src="footer.js">
두 번째 예에서는 src 속성만 출력합니다.
script1.js
script2.js
inline script
footer.js
답변1
grep
해당 항목과 일치하는 매개변수( )를 사용할 수 있습니다 -o
. 예:
$ grep -o "<[^>]*>" <(curl -s http://example.com/)
그러면 주문을 포함한 모든 HTML 태그가 인쇄됩니다.
<script>
태그 만 포함하려면 다음을 시도해 보세요( index.html
파일로 변경).
$ grep -Eo "<script.*(</script>|>)" index.html
(속성에서) 파일 이름만 가져오려면 src
다른 를 추가하여 확장할 수 있습니다 grep
. 예:
$ grep -Eo "<script.*(</script>|>)" index.html | grep -o '"[^"]*"' | tr -d '"'
위 구문은 HTML 코드의 다양한 변형에 도움이 되지 않으므로 더 복잡한 솔루션의 경우정규식을 사용하여 HTML 구문 분석일반적으로 권장되지 않으므로 적절한 도구(선호하는 언어 또는 다음을 확인)를 사용해야 합니다.쉘 도구).