linux - 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 命令有什么问题
解决方案
- 应该引用 sed 脚本,
- 正则表达式活动字符应使用反斜杠转义,
&
在替换端扩展为匹配的子字符串。
sed -i 's#LOG\.RDK\.SI = FATAL ERROR WARNING#& INFO#g' /opt/dert.ini
推荐阅读
- angular - 如何实现 BehaviorSubject 以反映 2 个组件的变化?
- javascript - 为什么我可以使用 [1] 而不是 [one] 创建属性?
- gatling - 无法在请求中从 Feeder 文件传递值
- r - 使用函数参数作为数据帧的名称,使用超级赋值 <<-
- android - (方法 Glide.with(android.content.Context) 不适用)
- azure-functions - DurableEntity - 模拟 SignalEntityAsync
- single-sign-on - 客户端使用 https 时,Keycloak 重定向 uri 无效
- azureservicebus - 偷看后如何从队列中删除消息?
- android - Kotlin 中的 Android 自定义 Spinner
- android - Android中的Hilt依赖注入仪器测试