1

我正在尝试编写一个脚本,该脚本需要提取公共 facebook 页面 URL 列表并将它们存储在平面文本文件中。我已经使用 wget 下载了一些http://graph.facebook.com/ $NUMBER 文件,但是由于它们使用的奇怪分隔符,我无法分离出 URL。这是一般格式(我将使用一个虚构的示例):

{"id":"4","name":"John Smith","first_name":"John","last_name":"Smith","link":"http:\/\/www.facebook.com\/john.smith","username":"john.smith","gender":"male","locale":"en_US"
4

1 回答 1

2

那是 JSON,所以最好的办法是使用真正理解 JSON 的工具。如果您安装了 python,它会提供 json 支持,因此很容易执行以下操作:

$ echo '{"id":"4","name":"John Smith","first_name":"John","last_name":"Smith","link":"http:\/\/www.facebook.com\/john.smith","username":"john.smith","gender":"male","locale":"en_US"}' | python -c 'import json,sys; print json.load(sys.stdin)["link"]'
http://www.facebook.com/john.smith

不是一个纯粹的 bash 解决方案,但在 bash 中解析 JSON 似乎是一项艰巨且不必要的工作,imo。

于 2013-04-09T17:43:11.303 回答