我正在使用脚本在 url 上查找所有 .pdf 文件的列表。但是 lynx 似乎对文件名中的空格有问题。这是脚本:
lynx --dump http://www.somesite/here/ | awk '/http/{print $2} | grep pdf > ~/Desktop/links.txt
这按预期工作,直到文件名中有一个带有空格的 .pdf。Lynx 似乎在空格处截断了文件名。有什么办法可以防止这种情况发生吗?
我正在使用脚本在 url 上查找所有 .pdf 文件的列表。但是 lynx 似乎对文件名中的空格有问题。这是脚本:
lynx --dump http://www.somesite/here/ | awk '/http/{print $2} | grep pdf > ~/Desktop/links.txt
这按预期工作,直到文件名中有一个带有空格的 .pdf。Lynx 似乎在空格处截断了文件名。有什么办法可以防止这种情况发生吗?
awk(默认情况下)使用空白作为字段分隔符,而 lynx 将转储 url 中的空白呈现为空白。按照我在错误报告中的建议解决它:
如果内容恰好采用 UTF-8 编码,lynx 会取消转义文本(撤消 URL 编码,例如
%20
).2013 年为 Debian #398274完成了转义(即,您已经在 Ubuntu 18.04 中获得了该功能)。
通过仅查看URL列表,添加该
-listonly
选项可减少不正确匹配的数量。如果您想查找多种文件类型,您可以在正则表达式中列出后缀作为替代项,例如,如下所示: