我正在尝试使用name=src.
命令将xml文件中的name=Web/
替换为sed
:
sed -i 's/name=src\./name=WebUi\//g' coverage.xml
但是它给出了一个错误。
任何人都可以在sed
命令中提供一个想法吗?
答案 0 :(得分:0)
使用:
sed 's/name=src/name=Web/g' filename.txt
答案 1 :(得分:0)
当/
作为文本的一部分出现时,无论是在正则表达式中还是在正则表达式中,都以/
表示法使用s///
以外的字符(我选择了|
,但是您可以使用未出现在正则表达式或替换中的任何字符;控制字符(例如 Control-A 通常是有效且安全的):
sed command sed -i 's|name=src\.|name=WebUi/|g' coverage.xml
请注意,这样编写的-i
选项仅适用于GNU sed
;如果使用BSD或macOS sed
,则需要-i ''
。 -i.bak
的使用与这两者相同,但是会保留应删除的备份文件。
当我看到有人用破损的sed
脚本进行就地变更时,我总是很担心。在确信脚本可以工作之前,您不应该考虑使用-i
选项。
经过审查,我很惊讶原来的's/name=src\./name=WebUi\//g'
无法正常工作-斜杠前的反斜杠应该是正确的。