html - 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 文件
解决方案
您不能 wget 一个文件,分析它的内容,然后执行相同的 wget 执行,下载文件神奇地回到过去并将其输出到一个以您在步骤 2 中分析的内容命名的新文件。只需执行以下操作:
wget '...' > tmp &&
name=$(gawk '...' tmp) &&
mv tmp "$name"
根据需要添加保护/
。name
推荐阅读
- c - 如何调用前面有指针的函数
- java - NoSuchAlgorithmException:通过 JAVA 8 连接到 SSL 网站时构造实现时出错
- node.js - Node.js 应用程序和 Apache php 后端在同一台服务器上
- java - 停止从第三方 Jar 进行 log4j 调试打印
- sql - 对时间戳进行舍入
- elasticsearch - 如何在没有 docker 的情况下在 jaeger 中配置弹性搜索
- bash - 使用 bash 从文本文件中删除最后一个不可打印的行
- c# - 为 DbContext 中的每个 DbSet 准备字段和显示名称列表
- google-bigquery - 如何按第 1 列使用分组并在 bigquery 的同一输出中获得第 2 列的最频繁出现
- html - 为什么 Edge 和 IE 不显示带有扩展 ASCII 字符的文本的 img-embedded-svg?