从文件中输入 wget 排除项?

从文件中输入 wget 排除项?

我正在浏览一个论坛,我不断偶然发现某些已经持续了十年的帖子。

我当然可以使用 wget 选项排除这些:

-X /t/41866,/t/314849,/t/335041,/t/356321,/t/491462,/t/493609,/t/493655,/t/493667,/t/493668,/t/493676,/t/493678

我也可以通过在 wgetrc 文件中插入字符串来排除它们

但我想要做的只是调用一个包含字符串的文件,就像你用 -i 选项调用一个文件来提取感兴趣的 URL 一样

因此而不是(来自 GNU wget 1.11.4 手册)

排除目录 = 字符串指定要从下载中排除的目录的逗号分隔列表 - 与“-X 字符串”相同

所以我希望字符串能够实际提取文件的内容。有没有办法做到这一点?

答案1

你可以直接使用 shell

wget -X `head -n1 exclude_file` blah

head -n1是为了防止文件中出现尾随换行符。

答案2

您可以使用-I list--include-directories=list选项:

   -I list
   --include-directories=list
       Specify a comma-separated list of directories you wish to follow when downloading.  Elements
       of list may contain wildcards.

答案3

wget -X`perl -MFile::Slurp -e'@lines=read_file("./FILE.txt");砍掉@lines;打印连接“,”,@lines'`

(您可能需要安装 File::Slurp Perl 模块)。

相关内容