我有一个 HTML 文件,源代码中有 javascript 和 CSS。 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://[^"]*'