我在源中有一个带有 javascript 和 CSS 的 HTML 文件。JS 中列出了一系列嵌入其他元数据的 URL。我想使用 awk 提取 URL(全部用双引号括起来,并带有 http:// 前缀)并将 URL 转储到标准输出。不过我不知道awk怎么用,不过好像是工具好用。
{
title: "Dsssat",
artist: "cxpl djij awsoj e",
mp3: "http://somesite.com/seal/dsssat.mp3",
},
Run Code Online (Sandbox Code Playgroud)
为什么要使用awk?sed更擅长于此:
sed -ne 's/.*\(http[^"]*\).*/\1/p' < foo.js
Run Code Online (Sandbox Code Playgroud)
您可以使用grep. 要包括双引号:
grep -o '"http://[^"]*"' myfile.html
Run Code Online (Sandbox Code Playgroud)
要排除双引号:
grep -o 'http://[^"]*' myfile.html
Run Code Online (Sandbox Code Playgroud)
编辑
您可能需要做一些进一步的过滤以确保您只匹配 JavaScript 对象中的 URL:
grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o '"http://[^"]*"'
grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o 'http://[^"]*'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16980 次 |
| 最近记录: |