awk를 사용하여 HTML 파일에서 URL을 추출하는 방법은 무엇입니까?

awk를 사용하여 HTML 파일에서 URL을 추출하는 방법은 무엇입니까?

소스 코드에 자바스크립트와 CSS가 포함된 HTML 파일이 있습니다. JS에는 다른 메타데이터가 포함된 일련의 URL이 나열되어 있습니다. awk를 사용하여 URL(모두 큰따옴표로 묶이고 앞에 http://가 붙음)을 추출하고 해당 URL을 표준 출력으로 덤프하고 싶습니다. 그런데 awk를 어떻게 쓰는지는 모르겠지만, 쓸 수 있는 도구인 것 같습니다.

{
title: "Dsssat",
artist: "cxpl djij awsoj e",
mp3: "http://somesite.com/seal/dsssat.mp3",
},

답변1

왜 awk를 사용하나요? sed이것을 더 잘하세요:

sed -ne 's/.*\(http[^"]*\).*/\1/p' < foo.js

답변2

당신은 그것을 사용할 수 있습니다 grep. 큰따옴표를 포함하려면 다음을 수행합니다.

grep -o '"http://[^"]*"' myfile.html

큰따옴표를 제외하려면 다음을 수행하십시오.

grep -o 'http://[^"]*' myfile.html

편집하다

JavaScript 개체의 URL만 일치하도록 하려면 몇 가지 추가 필터링을 수행해야 할 수도 있습니다.

grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o '"http://[^"]*"'

grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o 'http://[^"]*'

관련 정보