在 wget 列表中发表评论?

在 wget 列表中发表评论?

我需要下载大约 100 个软件包,因此我使用 wget-list 来简化操作。但是我的问题是,一旦我制作了列表(我假设它是 .txt 格式),是否有办法在其中插入 wget 会忽略的注释?如下所示:

#This is a comment
http://someurl.com
http://anotherurl.com

答案1

它没有看起来像

如果--force-html没有指定,那么文件应该由一系列 URL 组成,每行一个。

您可以尝试 HTML 样式的评论:<!-- Comment -->-或许这些被解释为评论,尽管我不指望它。

您还可以使用--force-html参数并输入 HTML - 您可以自由地在这种格式中随意发表评论。缺点是它会增加很多混乱:

<!-- This is a comment -->
<a href="http://someurl.com"></a>
<a href="http://anotherurl.com"></a>

答案2

您可以通过管道grepsed删除评论:

grep -v '^#' ~/list.wget | wget -i- -c -B http://base.url.if_needed

答案3

只需在注释中添加不带注释的注释,wget 就会将它们简单地视为无效的 URL。

答案4

我使用以下列表测试了 wgethttps://en.wikipedia.org/wiki/Comparison_of_programming_languages_%28syntax%29#Inline_comments

我发现 wget 不支持注释字符。但是,以下操作会快速生成“无效 URL”错误:

:测试评论 1 列表:无效 URL :测试评论 1:缺少方案
:: 测试评论 2 列表:无效 URL :: 测试评论 2:缺少方案
# 测试评论 3 列表:无效 URL http://# 测试评论 3:无效主机名
// 测试注释 4 列表:无效 URL // 测试注释 4:缺少方案

这些内容未在维基百科文章中列出,但也会导致快速出现“无效 URL”错误

/ 测试评论 1 列表:无效 URL / 测试评论 1:缺少方案
[ 测试注释 1 列表:无效 URL http://[ 测试注释 1:未终止的 IPv6 数字地址
@测试评论1列表:无效的URL http://@测试评论1:无效的用户名
? 测试注释 1 列表:无效 URL http://? 测试注释 1:无效主机名

其余的注释引导字符串都导致 wget 尝试使用 DNS 解析域名,从而产生至少八行错误输出。

我还发现 wget 会扫描整个列表文件,并在开始获取之前构建要获取的 URL 列表。例如,如果您有一个包含以下内容的列表文件:

# 测试评论 1
# 测试评论 2
http://superuser.com/questions/265711/commenting-in-a-wget-list

# 测试评论 3
# 测试评论 4
# 测试评论 5
# 测试评论 6

wget 输出为:

列表:无效的 URL http://# 测试评论 1:无效的主机名
列表:无效的 URL http://# 测试评论 2:无效的主机名
列表:无效的 URL http://# 测试评论 3:无效的主机名
列表:无效的 URL http://# 测试评论 4:无效的主机名
列表:无效的 URL http://# 测试评论 5:无效的主机名
列表:无效的 URL http://# 测试评论 6:无效的主机名
--2015-08-19 14:03:55-- http://superuser.com/questions/265711/commenting-in-a-wget-list
正在解析 superuser.com (superuser.com)...190.93.247.58, 190.93.244.58, 141.101.114.59, ...
连接到 superuser.com (superuser.com)|190.93.247.58|:80... 已连接。
HTTP 请求已发送,正在等待响应...200 OK
<剪辑>

因此,虽然 : :: # / // [ @ ? 都可以安全地用作注释引导字符,但产生的错误将首先输出,并且不会与 wget 尝试获取页面一致。

相关内容