我正在使用 Flickr 进行 API 调用,它会返回每张照片的结果,例如:
<photo id="7503362468" owner="59044395@N02" secret="66b94027db" server="8423" farm="9" title="Potluck" ispublic="1" isfriend="0" isfamily="0" />
现在,根据 Flickr 的 URL/API 文档,它们的 URL 的结构是这样的,mstzb 是照片大小的一个字母指示符:
http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg
所以,我的问题与可以采取每一行的大规模搜索和替换有关,在前面加上http://farm
然后基本上只是“填空”其余部分。目标是使用 API 来获取一个安静的 XML,然后我可以将替换器扔到那里并生成一个 URL 列表。我对 sed 有一个简短的熟悉——诚然,它没有向导——但我只是不确定如何按行进行搜索和替换,然后按正确的顺序替换。当然,farm-id 是第一个进入 URL 的字段,并且是 XML 中的第五个字段——我的意思是搜索和替换模式遵循每一行的相同位置。诚然,我刚刚开始使用正则表达式类型的东西,任何帮助都将不胜感激。我还看到以前有人问过这类问题,但他们似乎专注于如何创建 URL 语法而不是 sed 样式的替换。就像我说的,s/unnecessary/necessary
- 我只是不确定如何挑选某些引用的字段并将它们移动到预先形成的行中。
编辑:更多信息 - 我正在使用 Flickr 的 API Explorer 来生成这些 XML 文件,并且通常使用 bash 进行编辑。我认为我在这里所追求的更像是一个 bash 脚本,甚至可能是一种(希望是)可执行编程语言。我将赶紧补充一点,尽管我对使用诸如 python 之类的语言确实“有点”熟悉,但除了 bash 脚本之外,我在编写代码方面几乎没有经验。您可以在此处查看 API Explorer:http ://www.flickr.com/services/api/explore/?method=flickr.photos.search
谢谢大家!