html - 如何搜索特定文本并回显该特定文本的下一个字符?

标签 html linux bash command-line

我有一个项目要求,需要在搜索特定文本后打印文本的下一个字符。

为了更好地理解,这里有一个例子。

我有一个index.html文件并希望在搜索文本后打印特定文本。

问题:我有短信 <b>WELCOME</b>index.html 。现在我想搜索<b> ,打印文本WELCOME直到</b> .

bash# cat index.html | grep "" ?? 

请帮助我在 Linux 中使用 shell 命令或 shell 脚本打印此内容。

最佳答案

以快速而肮脏的方式打印当前页面标题的示例:

wget -q -O - 'http://tinyurl.com/9n6wayk' |
    sed -n '/<title>/{s:<title>\(.*\)</title>:\1:;p;q;}'

sed 命令详细说明:

  • -n 选项仅显示匹配的行
  • 开头的 // 部分就像一个 grep :我们使用匹配的行
  • {} 用于包含命令
  • s::: 是替换(分隔符可以是任意字符,默认为/)
  • \(.*\) 正在捕获
  • \1 是捕获的字符串
  • p 是用来打印修改后的字符串
  • q 匹配该行后立即退出

更简洁的方法是使用 Xpath使用第三代语言,如 Python、Ruby 或 Perl。

在当前 stackoverflow 页面上的 shell 中使用 Xpath 的简单方法:

xmllint 2>/dev/null --html \
    --xpath '/html/head/title/text()' \
    http://tinyurl.com/9n6wayk

xmllintlibxml 的一部分

关于html - 如何搜索特定文本并回显该特定文本的下一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12655297/

相关文章:

bash - 如何修复 EMA 函数在 bash 脚本中不返回预期值的问题?

java - Unicode 适用于 Windows 但不适用于 Red Hat Linux : Java

node.js - 在离线 RHEL 上安装 pm2 的确切命令是什么

php - 在 html 目录中或之上管理 bash 脚本安全性

linux - 需要帮助来创建简单的 bash 脚本

linux - Linux 命令的 I/O 简单超时

javascript - 在不重新加载页面的情况下刷新 div 内容

javascript - 如何让JS变量在页面刷新后保留值?

html - css html ie7(ul和li标签)菜单问题

jquery - 滚动条在侧边导航中被截断