我正在浏览一个论坛,我不断偶然发现某些已经持续了十年的帖子。
我当然可以使用 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 模块)。