我已经阅读了有关该主题的多个其他答案,但似乎没有一个能解决我的问题。
关于如何在长单行.json文件中为2个文本字符串添加前缀,我得到了an answer to my other question。
命令是
sed -i 's~"libraries"~"pack/\0"~; s~"objects"~"pack/\0"~' /var/www/html/pack/file.json
它包含单引号和双引号,以及正斜杠和双斜杠,使其他答案失败。
我已经尝试了
ssh ip<<'EOF'
sed -i 's~"libraries"~"pack/\0"~; s~"objects"~"pack/\0"~' /var/www/html/pack/file.json
EOF
ssh ip 'sed -i '"'"'s~"libraries"~"pack/\0"~; s~"objects"~"pack/\0"~'"'"' /var/www/html/pack/file.json'
和everything on this page,可能还有其他一些答案,没有运气。
使用EOF
的第一个命令会打开我在简单ssh ip
时获得的相同屏幕;远程命令提示符。来自Zaiste.net页面的其他一些命令也是如此。
请注意,正在从终端中执行的脚本运行sed
命令。因此,多行答案都可以。
此外,
ssh ip 'sed -i '"'"'s~"libraries"~"pack/\0"~; s~"objects"~"pack/\0"~'"'"' /var/www/html/pack/file.json'
围绕&#34;对象&#34;返回 EXTRA 引号和&#34;图书馆&#34;字符串我试图添加前缀,例如
&#34; minimumVersion&#34;:2&#34; librariesLocation&#34;:&#34;包/的&#34;文库&#34; &#34;,& #34; objectsLocation&#34;:&#34;包/的&#34;对象&#34; &#34;,
如果可以解决此命令的额外引号问题,那就解决了我的问题。
答案 0 :(得分:0)
您可以使用:
ssh -t -t ip<<'EOF'
sed -i 's~"libraries"~"pack/&"~; s~"objects"~"pack/&"~' /var/www/html/pack/file.json
exit
EOF