首页 > 解决方案 > sed 命令不起作用:观察到的 sed:不匹配的 '#'

问题描述

在以下dert.ini文件中,我有一个这样的字符串

LOG.RDK.SI = FATAL ERROR WARNING

使用sed命令 iam 尝试替换LOG.RDK.SI = FATAL ERROR WARNING

LOG.RDK.SI = FATAL ERROR WARNING INFO

这是我使用的 sed 命令..

root@FRT1v3:~# sed -i s#LOG.RDK.SI = FATAL ERROR WARNING#LOG.RDK.SI = FATAL ERROR WARNING INFO#g /opt/dert.ini

在执行这个命令时我观察到

sed: unmatched '#'

iam 使用的 sed 命令有什么问题

标签: linuxsed

解决方案


  1. 应该引用 sed 脚本,
  2. 正则表达式活动字符应使用反斜杠转义,
  3. &在替换端扩展为匹配的子字符串。
sed -i 's#LOG\.RDK\.SI = FATAL ERROR WARNING#& INFO#g' /opt/dert.ini

推荐阅读