请求编写sed命令替换文件中含斜杠的指定配置行
使用sed替换指定行的解决方案
没问题,这是你需要的sed命令,我特意优化了可读性并考虑了不同系统的兼容性:
核心命令(GNU sed,适用于Linux等系统)
sed -i 's#/ACCOUNT/passwd= /BMC/CONFIRMATION/PASSWORD=#/ACCOUNT/passwd=-2\$-\$A88CA7BD3DADDDFFC /TMC/CONFIRMATION/PASSWORD=-2\$-\$A88CA7BD3DADDDFFC#' your_file.txt
适配macOS(BSD sed)的版本
sed -i '' 's#/ACCOUNT/passwd= /BMC/CONFIRMATION/PASSWORD=#/ACCOUNT/passwd=-2\$-\$A88CA7BD3DADDDFFC /TMC/CONFIRMATION/PASSWORD=-2\$-\$A88CA7BD3DADDDFFC#' your_file.txt
关键细节说明:
- 我选用
#作为sed替换命令的分隔符,这样就不用转义原字符串和目标字符串中大量的/,让命令更易读和维护 - 替换字符串中的
$必须转义为\$,因为在sed的替换域中,$是代表行尾的特殊元字符,不转义会导致错误的匹配结果 -i参数用于直接修改目标文件;如果想先预览修改效果而不改动原文件,只需去掉-i(macOS版本去掉-i ''),sed会将修改后的内容输出到终端,方便你确认效果
内容的提问来源于stack exchange,提问作者Harshal
相关产品推荐
相关产品推荐

