首页 > 解决方案 > wget 命令下载网页并重命名带有 html 标题的文件?

问题描述

我想下载一个 html 网页并将文件名作为 html 页面的标题。

我找到了一个获取 html 标题的命令:

wget -qO- 'https://www.linuxinsider.com/story/Austrumi-Linux-Has-Great-Potential-if-You-Speak-Its-Language-86285.html/' |   gawk -v IGNORECASE=1 -v RS='</title' 'RT{gsub(/.*<title[^>]*>/,"");print;exit}'

它打印出这样的信息:Austrumi Linux 如果你说它的语言,潜力巨大| 评论 | Linux内幕

发现于:https ://unix.stackexchange.com/questions/103252/how-do-i-get-a-websites-title-using-command-line

下载该网页时,我如何将标题传回 wget 以将其用作文件名?

编辑:如果没有办法直接在 wget 中执行此操作,我找到了一种方法来简单地重命名下载后的 html 文件

使用 <title> 标签重命名 HTML 文件

标签: htmlawkwget

解决方案


您不能 wget 一个文件,分析它的内容,然后执行相同的 wget 执行,下载文件神奇地回到过去并将其输出到一个以您在步骤 2 中分析的内容命名的新文件。只需执行以下操作:

wget  '...' > tmp &&
name=$(gawk '...' tmp) &&
mv tmp "$name"

根据需要添加保护/name


推荐阅读