我必须在RHEL 7.4的目录中以递归方式查找所有文件/eOffice/eofficev6
中的所有字符串并将其替换为/eOffice/SAPS/eofficev6
。
问题是我使用sed -i
但我的字符串也包含/
斜杠。
如何替换/
的所有字符串?
答案 0 :(得分:0)
你可以做到
sed -i 's/\(\/eOffice\)\(\/eofficev6\)/\1\/SAPS\2/' input_file_name
将"/eOffice"
和"eofficev6"
部分分组,并在其间插入"SAPS"
。
例如,如果输入为:
/eOffice/eofficev6
输出将是
/eOffice/SAPS/eofficev6
使用\
s转发正斜杠。
或者没有分组,
sed -i 's/\/eOffice\/eOfficev6/\/eOffice\/SAPS\/eOfficeb6/' input_file
答案 1 :(得分:0)
你有两种方法可以达到你想要的效果。
One:Escape slashes(E.G。sed -i "s/\/eOffice\/eofficev6/\/eOffice\/SAPS\/eofficev6/" file
)。
二:更改分隔符(E.G. sed -i "s|/eOffice/eofficev6|/eOffice/SAPS/eofficev6|" file
)。