我正在尝试使用以下代码将字符串/IRM/I
替换为E/IRM/I
,但正在处理文件,没有错误,也没有转换。我假设我错误地使用了取消字符以允许正斜杠。任何帮助都非常感谢。
sed -i '//IRM/IE/IRM/I/g'
sed
命令需要指定一个操作(如要替换的s
(,并且该操作需要一个符号。你不需要使用斜杠作为那个符号。
printf '%sn' 'This is a test: </IRM/I>' |
sed -e 's@/IRM/I@E/IRM/I@g'
。正确发出作为输出:
This is a test: <E/IRM/I>
请注意,我们在sed
表达式的开头添加了一个s
,并在后面加上了一个@
- 一个不包含在源或替换字符串中的任何位置的符号,因此您不需要像/
那样对其进行转义。