Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Sed命令替换文件中不工作的字符串_Linux_Bash_Shell_Sed_Gnu - Fatal编程技术网

Linux Sed命令替换文件中不工作的字符串

Linux Sed命令替换文件中不工作的字符串,linux,bash,shell,sed,gnu,Linux,Bash,Shell,Sed,Gnu,在尝试从我的虚拟机执行以下sed命令时 sudo -S shv6 <IP> "sed -i 's#<RDKBrowserHtmlViewItem>INFO</RDKBrowserHtmlViewItem>#<RDKBrowserHtmlViewItem>DEBUG</RDKBrowserHtmlViewItem><XREPluginGraphicsItem>DEBUG</XREPluginGraphicsItem>

在尝试从我的虚拟机执行以下sed命令时

sudo -S shv6 <IP> "sed -i 's#<RDKBrowserHtmlViewItem>INFO</RDKBrowserHtmlViewItem>#<RDKBrowserHtmlViewItem>DEBUG</RDKBrowserHtmlViewItem><XREPluginGraphicsItem>DEBUG</XREPluginGraphicsItem>#g' /op/log.xml"
sudo-shv6“sed-i的#INFO#DEBUGDEBUG#g'/op/log.xml”
我观察到以下错误消息

sh: -c: line 0: syntax error near unexpected token `newline'
sh: -c: line 0: `sed -i s#<RDKBrowserHtmlViewItem>INFO</RDKBrowserHtmlViewItem>#<RDKBrowserHtmlViewItem>DEBUG</RDKBrowserHtmlViewItem><XREPluginGraphicsItem>DEBUG</XREPluginGraphicsItem>#g /op/log.xml'
sh:-c:第0行:意外标记“newline”附近的语法错误
sh:-c:0行:`sed-iss#INFO#DEBUGDEBUG#g/op/log.xml'

我的sed命令有什么问题。

下面的命令终于起作用了

sudo -S shv6 <IP> "sed -i 's#\\<RDKBrowserHtmlViewItem\\>LOG\\<\\/RDKBrowserHtmlViewItem\\>#\\<RDKBrowserHtmlViewItem\\>DEBUG\\<\\/RDKBrowserHtmlViewItem\\>\\<RDKBrowserHtmlViewItem\\>DEBUG\\<\\/RDKBrowserHtmlViewItem\\>#g' /op/log.xml"
sudo-shv6“sed-i的#\\LOG\\\\\\\\\\\\\DEBUG\\\\\\\g'/op/LOG.xml”

它是外壳;当它抱怨的时候,你的单引号已经消失了。有了所有这些XML/HTML尖括号,shell可能会有一个字段日重定向和重新重定向,再重新重定向。或者,我已经睡了很久了。目标机器是否使用GNU
sed
;如果没有,则
-i
选项可能会出现问题。请尝试一个简化的命令。我在你的命令中看到了
,这是真正的代码吗?它将尝试从文件IP读取输入,并将所有内容写入以
sed
开头的多行命令。很高兴您解决了这个问题。看起来有足够多的类似shell的操作,这毕竟是个问题。