我正在使用curl抓取网站的 HTML。我只想抓取前 20 行,并将其保存在外部文件中。我需要抓取大约 10 个 URL,并希望将它们全部保存在同一个文件中。最好在结果上方带有每个文件的 URL。我想出的是:
curl http://example.com/url1 | head -20 && curl http://example.com/url2 | head -20 > exportfile
但是,这会产生两个问题:
有什么方法可以使这项工作按我的意愿进行?
您可以将所有 URL 保存在一个文件中(例如urls.txt,每行一个),然后在脚本中循环遍历它们:
#! /bin/bash
# optional, clean up before starting
rm exportfile
while read url ; do
echo "URL: $url" >> exportfile
curl "$url" | head -20 >> exportfile
done < urls.txt
Run Code Online (Sandbox Code Playgroud)
重要的事情之一是使用>>附加。>覆盖。