删除/替换 bash 中的 html 标签

2023-11-20

我有一个文件,其中包含以下行:

<li><b> Some Text:</b> More Text </li>

我想删除 html 标签并替换</b>用破折号标记,所以它变成这样:

Some Text:- More Text

我正在尝试使用 sed 但找不到正确的正则表达式组合。


如果您严格想要删除所有 HTML 标签,但同时only更换</b>带有一个标签-,你可以链接两个简单的sed带管道的命令:

cat your_file | sed 's|</b>|-|g' | sed 's|<[^>]*>||g' > stripped_file

这会将文件的所有内容传递给第一个sed将处理替换的命令</b> to a -。然后,其输出将通过管道传输到sed这将用空字符串替换所有 HTML 标签。最终输出将保存到新文件中stripped_file.

使用与@Steve的其他答案类似的方法,您也可以使用sed's -e将表达式链接到单个(非管道命令)的选项;通过增加-i,您还可以读入并替换原始文件的内容,而无需cat,或一个新文件:

sed -i -e 's|</b>|-|g' -e 's|<[^>]*>||g' your_file

这将像上面的链接命令一样进行替换,但是这次它将直接替换输入文件中的内容。要保存到新文件,请删除-i并添加> stripped_file到最后(或您选择的任何文件名)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除/替换 bash 中的 html 标签 的相关文章

  • 将参数传递给 Bash 函数

    我正在尝试搜索如何在 Bash 函数中传递参数 但出现的总是如何从命令行 我想在我的脚本中传递参数 我试过 myBackupFunction xx function myBackupFunction directory options ro
  • Javascript:在文档中查找 URL

    如何在文档中查找 URL 即 www domain com 并将其放入锚点中 www domain com html Hey dude check out this link www google com and www yahoo com
  • 名字和姓氏的正则表达式

    出于网站验证目的 我需要名字和姓氏验证 对于名字 它只能包含字母 可以是多个带有空格的单词 并且最少为 3 个字符 但最多为 30 个字符 不应验证空字符串 例如Jason jason 杰森 史密斯 杰森 史密斯 JASON 贾森 史密斯
  • Bash:在某些文件夹中查找文件,然后创建输出列表

    我是 Bash 新手 我正在尝试在一组特定文件夹中查找文件 我想为每个 check 文件夹中的图像文件创建一个 txt 报告 这是我一直在做的事情 Find images for f in check do find iname jpg o
  • 如何通过 * 将所有文件(包括隐藏文件)移动到父目录中

    这一定是一个很受欢迎的问题 但我找不到答案 如何通过 将所有文件 包括隐藏文件 移动到父目录 如下所示 mv path subfolder path 这会将所有文件按预期移动到父目录 但不会移动隐藏文件 怎么做 您可以在 UNIX Linu
  • 取消设置脚本中定义的全局变量是一种好的做法吗?

    在编写 sh 脚本时 在脚本末尾取消设置所有先前定义的全局变量是否被认为是好的做法 例如 如果我执行我的脚本myscript使用 来源 内置 像这样 myscript 执行脚本后 shell 会被脚本中定义的变量污染 这看起来真的很糟糕 特
  • 取消设置脚本中定义的全局变量是一种好的做法吗?

    在编写 sh 脚本时 在脚本末尾取消设置所有先前定义的全局变量是否被认为是好的做法 例如 如果我执行我的脚本myscript使用 来源 内置 像这样 myscript 执行脚本后 shell 会被脚本中定义的变量污染 这看起来真的很糟糕 特
  • 如何使用正则表达式匹配X和Y之间的数字?

    我想用 RegExp 匹配 X 和 Y 之间的数字 这可能吗 0 9 将匹配任何数字 我该如何匹配 110 和 2234 之间的数字 根据生成正则表达式以匹配任意数字范围 http code activestate com recipes
  • AWS Elastic Beanstalk:命令 eb list 显示没有环境

    我正在使用 Elastic Beanstalk 并且创建了 3 个不同的环境 我使用了 awsebcli 突然一声命令eb list没有向我显示我的环境 因此我无法部署环境 我得到的错误是ERROR This branch does not
  • 如何转义字符串以在 Boost Regex 中使用

    我刚刚开始了解正则表达式 并且正在使用 Boost Regex 库 我需要使用包含特定 URL 的正则表达式 但它令人窒息 因为显然 URL 中存在为正则表达式保留的字符 需要转义 Boost 库中是否有任何函数或方法可以转义此类用途的字符
  • Bash 中管道如何工作的简单解释是什么?

    我经常在 Bash 中使用管道 例如 dmesg less 虽然我知道这会输出什么 但这需要dmesg让我滚动浏览它less 我不明白什么 是在做 是不是正好相反 gt 有没有一个简单的或隐喻的解释 does 当一条管线中使用多个管道时会发
  • 如何修复 emacs 中的“正则表达式匹配器中的堆栈溢出”

    我是 Emacs 的忠实粉丝 并且经常使用它 尤其是在编程和调试 使用 gud C C 时 最近我必须调试一个程序 相当简单 但需要计算大量数据 图论 但我遇到了一个相当烦人的问题 在程序逐步执行过程中 出现以下错误 error in pr
  • 连接字符串的 Powershell 正则表达式?

    由于某种原因 我在解析 web config 文件中的连接字符串时遇到了困难 我已经获得了 connectionString 但我正在尝试获取所有值 例如 数据源 初始目录 Username etc 连接字符串如下所示 数据源 db sam
  • 使用 sed 提取 HTML 标签数据

    我希望提取已知 HTML 标签之间的数据 例如 Hello i I i am i very i glad to meet you 应该变成 I very 所以我找到了一些几乎可以做到这一点的东西 不幸的是 它只提取最后一个条目 sed n
  • 正则表达式在日期中添加连字符

    在 R 中 我有一个如下所示的字符串 x lt c 20130603 00 00 03 102 20130703 00 01 03 103 20130804 00 03 03 104 我想通过使用一个单一的看起来像下面gsub命令 而不是使
  • 解析srt字幕

    我想解析srt字幕 1 00 00 12 815 gt 00 00 14 509 Chlapi jak to jde s t ma pracovn ma sv tlama 2 00 00 14 815 gt 00 00 16 498 Tro
  • Shell 脚本在延迟后生成进程

    如何在 shell 脚本延迟后生成进程 我希望命令在脚本启动 60 秒后启动 但我想继续运行脚本的其余部分 而不先等待 60 秒 想法是这样的 bin sh Echo A 60 seconds later but without block
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着
  • chmod:如何仅向已具有执行权限的文件递归添加执行权限[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我注意到 chmod R a x为所有文件添加执行权限 而不仅仅是当前可执行的文件 有没有办法只为那些已经为用户权限设置了执行集的文件添加执行权限 U
  • 仅从文件所有行中的特定字段中删除长前缀? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个包含以下几行的文件 由空格分隔的 3 个字段 component1 dev user test 12344 component

随机推荐

  • React Native android APK 扩展支持吗?

    我尝试搜索 React Native Android APK Expansion 但找不到任何有关它的页面 RN 支持 APK 扩展文件吗 如何在本地开发中测试它 谢谢 None
  • 在spring data elasticsearch中,聚合查询不能放在存储库实现中吗?

    我第一次使用 spring boot elasticsearch 我现在已经弄清楚如何使用 elastics java api 描述我的串行差异管道查询 正如您将在下面看到的 这个查询相当大 并且为每个对象返回多个存储桶以及每个存储桶之间的
  • 丢失密钥对后访问 EC2 实例

    几个月前 我启动了一个 EC2 实例 当时我将 pem 密钥存储在我的 PC 中 电脑崩溃后 我不得不在上面重新安装 Windows 而且我没有 pem 文件的备份 有什么方法可以让我到达 EC2 实例上的提示符 任何通过 ssh 或其他方
  • ASP.Net MVC 控制器构造函数中的会话为 null

    为什么控制器的构造函数中Session为null 可以从 Action 方法访问它 据推测 因为 MVC 路由框架负责更新控制器 所以它此时还没有 重新 实例化会话 有谁知道这是否是设计使然 如果是 为什么 我已经通过使用延迟加载模式设法规
  • jackson xml 列出了识别为重复键的反序列化

    我正在尝试使用将 xml 转换为 jsonjackson 2 5 1 and jackson dataformat xml 2 5 1xml结构是从Web服务器接收的并且未知 因此我不能用java类来表示该对象 并且我试图直接转换为Tree
  • 莫西忽略场

    使用 moshi 序列化为 json 字符串时是否有一种简单的方法来忽略字段 我只能想到是一个自定义适配器 但我感觉有更好的方法 Use transient关于现场声明 private transient String your varia
  • 使用反射在内部类中实例化带有参数的构造函数

    我有一些类似的事情 object parameter new object 1 parameter 0 x object instantiatedType Activator CreateInstance typeToInstantiate
  • OpenCV - 让滑块在视频播放期间更新其位置

    我选择了 学习 OpenCV 并尝试了一些代码示例 练习 在此代码片段中 我想让滑块随着每个视频帧的变化而更新其位置 但由于某种原因它不起作用 图片通过以下代码冻结 include cv h include highgui h int g
  • 在 SELECT INTO 中保留 ORDER BY

    我有一个 T SQL 查询 它从一个表中获取数据并将其复制到一个新表中 但只复制满足特定条件的行 SELECT VibeFGEvents INTO VibeFGEventsAfterStudyStart FROM VibeFGEvents
  • 检查路径是否有效

    我只是想知道 我正在寻找一种方法来验证给定路径是否有效 注意 我不想检查文件是否存在 我只想证明路径的有效性 所以如果文件可能存在于该位置 问题是 我在 Net API 中找不到任何内容 由于 Windows 支持多种格式和位置 我宁愿使用
  • 为什么 x 在内部作用域中未定义? [复制]

    这个问题在这里已经有答案了 在下面的代码中 var x 1 function console log x var x 2 为什么console log x 时 x未定义 可变提升 实际的代码是这样执行的 var x 1 function v
  • Interface Builder > Inspector > Bindings 中的“控制器键”是什么意思?

    我在文档中找不到他们解释所有这些字段及其含义的地方 尤其是 控制器键 我不清楚 复印我在另一个问题上的回答 控制器键是您要绑定的 控制器对象的属性 的键 模型关键路径是绑定对象可以向模型对象请求更基本的对象 例如字符串或图像 或其他模型对象
  • 使用 gson 将 json 字段反序列化为纯字符串

    我正在尝试将 json 对象反序列化为 java bean 我面临的主要问题是我想对待这个领域object将 json 字符串视为普通字符串 即使它包含可能正确的 json 对象 json结构是这样的 type user object id
  • REPL 和解释器有什么区别?

    REPL 和解释器之间有技术差异吗 交互式解释器使用 REPL 不需要配备口译员 例如 您可以以非交互模式 在文件上 运行 Python 并且它不会使用读取 评估 打印循环
  • 使用 numpy fft 提取相位信息

    我正在尝试使用快速傅立叶变换来提取单个正弦函数的相移 我知道 在纸面上 如果我们将函数的变换表示为 T 那么我们有以下关系 然而 我发现虽然我能够准确捕获余弦波的频率 但除非我以极高的速率采样 否则相位不准确 例如 import numpy
  • 如何在 Windows 机器上使用 nginx 运行 django?

    我有一个 Django 项目 我已经安装了nginx服务器 我想在 Windows 机器上运行 nginx 和 django 我尝试过几个博客Nginx Django Uwsgi 但它们都需要 uwsgi 但 uwsgi 未安装在 Wind
  • 代码生成器、ORM、存储过程

    这些软件架构在哪些领域表现出色或失败 哪些关键要求会促使您选择其中一个 请假设您有可用的开发人员 他们可以完成良好的面向对象代码以及良好的数据库开发 另外 请避免圣战 所有三种技术都有优点和缺点 我感兴趣的是最适合在哪里使用哪种技术 这些工
  • 使用自签名证书在 iOS 9 中发出 HTTPS 请求 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我想使用自签名证书向自定义服务器发出 HTTPS 请求 我正在使用 NSURLConnection 类并处理身份验证质询 但总是在控制台中收到错误消息 NSURLSessio
  • 错误:该 IP 地址无法在 Django 中分配给?

    我正在运行 Debian 6 stable 并且我正在尝试使用本地运行 Django manage py runserver命令 这就是我得到的 Validating models 0 errors found Django version
  • 删除/替换 bash 中的 html 标签

    我有一个文件 其中包含以下行 li b Some Text b More Text li 我想删除 html 标签并替换用破折号标记 所以它变成这样 Some Text More Text 我正在尝试使用 sed 但找不到正确的正则表达式组