我试图执行以下命令:
`sed 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg`
但我收到此错误
-bash: ###############################################################################: command not found
如果我尝试在没有后退滴答的情况下运行它,该命令将起作用。
我尝试过以下方法:
`sed 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg` 2>&1
`sed 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg`> /dev/null
但它没有用。
答案 0 :(得分:6)
您不需要返回标记或$()
来调用此处sed
,因为您的要求是不将sed
的输出解释为命令。
如果您打算修改/etc/nagios/objects/services.cfg
,可以这样做:
sed 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg > /etc/nagios/objects/services.cfg.new
或者,进行就地编辑(当您完全确定sed
表达式正确时):
sed -i 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg
在像macOS这样的BSD系统上,sed -i
需要一个参数。命令是:
sed -i '' 's/49%100%/49%!100%/' /etc/nagios/objects/services.cfg
有关返回刻度及其更现代的表单$()
: