Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
Shell awk引用程序文本_Shell_Awk_Sed_Bosh - Fatal编程技术网

Shell awk引用程序文本

Shell awk引用程序文本,shell,awk,sed,bosh,Shell,Awk,Sed,Bosh,如果我跑步: awk '/-jar org.eclipse.osgi.jar --launcher.suppressE/ {print "-Dcom.abc.service.gw.enableValidation=false \\"}1' rest_gw.sh >> new_gw.sh 该命令在第行-jar org.eclipse.osgi.jar--launcher.suppress -Djava.security.properties=/var/vcap/p

如果我跑步:

awk '/-jar org.eclipse.osgi.jar --launcher.suppressE/ {print "-Dcom.abc.service.gw.enableValidation=false \\"}1' rest_gw.sh >> new_gw.sh
该命令在第行
-jar org.eclipse.osgi.jar--launcher.suppress

-Djava.security.properties=/var/vcap/packages/helpers/data.properties \
-Dcom.abc.service.gw.enableValidation=false \  <<<<<<<<<<<<<<<<<<<<<<<<<
-jar org.eclipse.osgi.jar --launcher.suppressErrors -consoleLog &
尝试:

bosh -d test-105 ssh service/0 -c 'sudo /usr/bin/awk '\'/-jar org.eclipse.osgi.jar --launcher.suppressErrors/ {print \"-Dcom.abc.service.gw.enableValidation=false \\\"}1\' /var/vcap/data/jobs/gw_rest/*/target/gw.sh >> /tmp/new_gw.sh'
到目前为止运气不好。有人能建议正确的方法吗?太好了

编辑:

建议使用sed命令:

bosh -d test-105 ssh service/0 -c 'sudo sed '/-jar org.eclipse.osgi.jar --launcher.suppressE/i -Dcom.abc.service.gw.enableValidation=false \\' /var/vcap/data/jobs/gw_rest/*/target/gw.sh >> /tmp/new_gw.sh'
未知标志启动器。抑制/i'

这最终奏效了:

bosh -d test-105 ssh service/0 -c "sudo sed '/-jar org.eclipse.osgi.jar --launcher.suppressErrors -consoleLog/i -Dcom.abc.service.gw.enableValidation=false \\\' /var/vcap/data/jobs/gw_rest/*/target/gw.sh >> /tmp/new_gw.sh"

我强烈建议使用
sed
命令将行插入为:

sed  '/-jar org.eclipse.osgi.jar --launcher.suppressE/i -Dcom.abc.service.gw.enableValidation=false \\' rest_gw.sh >> new_gw.sh

它更简洁。

试试:
awk'/-jar org\.eclipse\.osgi\.jar--launcher.suppressErrors/{print”-Dcom.abc.service.gw.enableValidation=false\\\\“}1'
编辑脚本可能不是个好主意。添加一个命令行参数,如果传入一个选项,该参数将添加此选项,否则将忽略它。同意。我们也可以和塞德一起做。只是以嵌套方式运行命令会导致问题。如果我按原样运行sed命令,它会给出
unknown标志launcher.suppressE/i'
。更新问题。如果我删除
launcher.suppress
,它会给出
未知标志D'
。我也看到了awk的这些问题。你在某个地方有引用问题。我建议你把剧本分段。到更小的块。按顺序手动运行它们,放入大量的
echo
消息,使用bashshell来符合标准。你是对的。这确实是一个引用问题。我已使用
sed
更新了最终结果。谢谢!:)
sed  '/-jar org.eclipse.osgi.jar --launcher.suppressE/i -Dcom.abc.service.gw.enableValidation=false \\' rest_gw.sh >> new_gw.sh