![awk를 사용하여 HTML 파일에서 URL을 추출하는 방법은 무엇입니까?](https://linux55.com/image/27328/awk%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20HTML%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20URL%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
소스 코드에 자바스크립트와 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://[^"]*'