删除/替换 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 标签 的相关文章

  • 如何检查字符串是否包含单词的所有字符

    我想检查一个字符串是否包含给定单词的所有字符 例如 var inputString this is just a simple text string 并说我有一句话 var word ts Now it should pick out t
  • 有没有办法删除 Unix 中文件中的重复标头?

    如何从文件中删除多个标头 我在找到下面的代码后尝试使用它在 Unix 中如何删除文件中的重复行 awk x 0 file txt 它正在删除文件中的所有重复记录 但就我而言 我只需要删除标头重复项 而不是文件中的重复记录 例如 我有一个包含
  • 量词 {0} 在某些情况下有意义吗?

    Example Foo 0 栏 我在另一个答案里看到了类似的内容 起初我想 那应该是什么 但后来 好吧可能有道理 有点消极的看法 所以Foo之前不允许bar 但这不起作用 你可以看到这个在 Regexr 上 只匹配bar但它也匹配bar i
  • php句子边界检测[重复]

    这个问题在这里已经有答案了 我想用 PHP 将文本分成句子 我目前正在使用正则表达式 它的准确率约为 95 并且希望通过使用更好的方法来改进 我见过用 Perl Java 和 C 实现此目的的 NLP 工具 但没有看到任何适合 PHP 的工
  • 如何在字符串的特定位置添加字符?

    我正在使用 Notepad 想要使用正则表达式替换在字符串中的特定位置插入字符 比如说 在每行的位置 6 处插入一个逗号 表达式会是什么 如果您想在第六个字符之后添加一个字符 只需使用搜索 6 和替换 1 示例插入一个 从技术上讲 这会将每
  • 正则表达式将单词与唯一(非重复)字符匹配

    我正在寻找一个正则表达式 仅当单词的所有字符都是唯一的时才匹配该单词 这意味着该单词中的每个字符仅出现一次 Example abcdefg gt 将返回MATCH abcdefgbh gt 将返回NO MATCH 因为信b重复多次 试试这个
  • 如何在正则表达式中匹配多行中的任意字符?

    例如 这个正则表达式
  • `fs.mkdir` 正在创建具有与指定权限不同的权限的目录

    由于我的节点程序使用的模块 它需要 root 才能运行 这是因为它必须在端口 80 上运行 HTTP 服务器 正如您所知 像这样的较低端口需要 root 才能使用 但是 该程序还使用了fs方法来创建文件 我不介意 root 是否是所有者 只
  • iphone sdk 应用程序的最佳正则表达式库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我对 iPhone SDK 中提供的正则表达式库感到困惑 例如 RegexLite 看起来需要一个动态链接 据我了解 这对于 iPhone 上的 S
  • Mathematica 中的错误:正则表达式应用于很长的字符串

    在下面的代码中 如果字符串 s 附加到大约 10 或 20 000 个字符 Mathematica 内核段错误 s This is the first line MAGIC STRING Everything after this line
  • 从地址字符串中提取邮政编码

    我有一些完整的地址 例如 addr1 5285 KEYES DR KALAMAZOO MI 49004 2613 addr2 PO BOX 35 COLFAX LA 71417 35 addr3 64938 MAGNOLIA LN APT
  • Bash 别名创建文件名中包含当前时间戳的文件

    我正在尝试创建一个 bash 别名 每次调用该别名时都会打印当前的 UNIX 时间戳 我的 bash 配置文件中有以下内容 alias unix echo date s 然而 似乎当前的 unix 时间戳是在获取 bash 配置文件后立即存
  • 正则表达式匹配可以基于两行文本吗?

    假设我有 def abc xyz abc 我想匹配 xyz abc 作为一个整体 使用最通用的正则表达式可以实现这一点吗 这不是具有多行标志的 perl RegEx 或 Net Regex 我猜应该是 BNF 来匹配这个 许多正则表达式实现
  • 正则表达式缺少括号

    我是否正确地认为正则表达式不能用于检测缺失的括号 因为无法计算对数 使用 JavaScript 我有大约一千个字符串 这些字符串已被截断 需要手动编辑 我希望能够使用代码将这个列表缩小到需要注意的范围 字符串可以被认为是以下形式 这个很好
  • 在 Java 中通过正则表达式查找最后一个索引

    我有一根绳子 O O O 我想找到最后一个 来分割字符串 第一次尝试是 POL 但这让它包含了 O 这是显而易见的 有人给点建议吗 我同意使用标准 String lastIndexOf 方法是最好的做法 但我最近使用了 Regex 部分 即
  • 从 shell 脚本编辑属性文件中的属性值

    标题说明了一切 我需要将我不知道的属性值替换为不同的值 我正在尝试这个 bin bash sed i s myprop myprop newvalue g file properties i get sed e expression 1 c
  • 取消长时间运行的正则表达式匹配?

    假设我正在运行一项服务 用户可以提交正则表达式来搜索大量数据 如果用户提交的正则表达式非常慢 即 Matcher find 返回需要几分钟 我需要一种方法来取消该匹配 我能想到的唯一方法是让另一个线程监视匹配需要多长时间 并在必要时使用 T
  • select() 函数的第一个参数到底是什么

    我不太明白第一个参数的目的select功能 维基百科将其描述为所有集合中的最大文件描述符加上 1 为什么 1以及为什么select需要这些信息吗 在 Nix 系统中 文件描述符只是系统表的索引 并且fd set结构包含与这些索引相对应的位掩
  • Javascript RegExp - 从字符串中提取电话号码

    我有以下有效的正则表达式来提取大量不同格式的电话号码 看这里 http jsfiddle net SB5Ly 4 var regex new RegExp d d d s d 2 g 如果脚本未加载 请按顶部菜单中的 运行 按钮 正如您在示
  • TFS 2010 中的禁止模式签入策略

    我一直在尝试使用 TFS 2010 Power Tools 的禁止模式部分 但我只是不明白某些东西 当我尝试使用它时 我根本无法进行任何更改 我使用的是最近发布的版本 我相信是2010年4月23日 所以它不是旧版本 首先 是的 我知道它是基

随机推荐

  • 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 但找不到正确的正则表达式组