我在自己的网站上列出了一个很长的网址列表,列在回车分隔的文本文件中。例如:
- HTTP:/www.mysite.com/url1.html
- HTTP:/www.mysite.com/url2.html
- HTTP:/www.mysite.com/url3.html
我需要生成许多并行wgets来命中每个URL两次,检查并检索特定的头,然后将结果保存在一个数组中,我想在一个漂亮的报告中输出。
我使用以下xargs命令获得了我想要的一部分:
xargs -x -P 20 -n 1 wget --server-response -q -O - --delete-after<./urls.txt 2>&1 | grep Caching
问题是如何运行此命令两次并存储以下内容:
- 网址命中
- grep对缓存头的第一个结果
- grep对缓存头的第二个结果
所以输出应该类似于:
=====================================================
http:/www.mysite.com/url1.html
=====================================================
First Hit: Caching: MISS
Second Hit: Caching: HIT
=====================================================
http:/www.mysite.com/url2.html
=====================================================
First Hit: Caching: MISS
Second Hit: Caching: HIT
等等。
只要标题与URL相关联,URLS出现的顺序就不一定受到关注。
由于URL的数量,我需要并行地并行访问多个URL,否则将花费太长时间。
诀窍是如何获得多个并行wgets并以有意义的方式存储结果。如果有更合理的方法(也许写入日志文件?),我没有结婚使用数组?
任何bash大师对我如何进行有任何建议吗?
\r
),而不是新线(\n
)或窗户风格(\r\n)
?这是一个文件 旧 苹果电脑?