【发布时间】:2022-10-21 20:25:54
【问题描述】:
我正在做一个 bash 脚本,我有一个 txt 文件,我需要在其中编辑一些文本
我需要更换这个
<h3> >> 1.10 Ping Desde XXXXXXXXXX01-PRD a 10.xxx.xx.xx ==> [ OK ] </h3>
对此
<h3> >> 1.10 Ping Desde XXXXXXXXXX01-PRD a 10.xxx.xx.xx ==> <span style="color: green">[ OK ] </span></h3>
我尝试使用 sed 但没有成功。
我已经做到了
sed -i 's/==> [ OK ]/==> <span style="color:green">[ OK ]</span>/g' "temp.txt"
带有错误响应
sed: -e expression #1, char 53: unknown option to `s'
然后我尝试了一个用于替换 url 的解决方案,而不是使用“%”的“/”
sed -i 's%==> [ OK ]%==> <span style='color:green'>[ OK ]</span>%g' "temp.txt"
没有错误消息,但也没有文件文本更改。
如果有人知道该怎么做,我将不胜感激
【问题讨论】:
-
我建议使用 XML/HTML 解析器(xmlstarlet、xmllint ...)。
-
也许我稍后会检查一下,但是对于我需要的脚本可以使用 sed 运行,