Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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
从ProcessBuilder从java执行sed时,获取:sed:-e expression#1,char 1:unknown命令:`'';_Java_Sed - Fatal编程技术网

从ProcessBuilder从java执行sed时,获取:sed:-e expression#1,char 1:unknown命令:`'';

从ProcessBuilder从java执行sed时,获取:sed:-e expression#1,char 1:unknown命令:`'';,java,sed,Java,Sed,我在linux中从java运行此命令: sed -i.bak 's/'1111'/'22222'/' /home/my/test/page.html 获取此错误: sed: -e expression #1, char 1: unknown command: `'' 从ProcessBuilder从java执行时 像这样: String s = "'s/'1111'/'22222'/'" ProcessBuilder pb = new ProcessBuilder(); pb.comman

我在linux中从java运行此命令:

sed -i.bak 's/'1111'/'22222'/' /home/my/test/page.html
获取此错误:

sed: -e expression #1, char 1: unknown command: `''
从ProcessBuilder从java执行时 像这样:

String s = "'s/'1111'/'22222'/'"

ProcessBuilder pb = new ProcessBuilder();
pb.command("sed","-i.bak",s,"/home/my/test/page.html);
当从纯linux控制台运行时,它工作得很好,只有从java运行时,它才会给我这个错误。。
有什么想法吗?

我想
String s=“\”s/'1111'/'2222'/\”会更好。使用
sed-i.bak“s/'1111'/'2222'/”文件
我认为如果可能,更合适的选择是将sed命令存储在自己的文件中。文件的内容将是
s/'1111'/'2222'/
sed
将使用附加参数
-f/path/to/The/script.sed执行。没有必要交换或转义引号。我不记得ProcessBuilder是否尊重shebangs,但如果它尊重shebangs,它可以进一步简化Java的调用。这仍然会给我同样的错误:@WiktorStribiżewString old=“1111”String newV=“2222”String[]command={“sed”、“-I.bak”、“'s/“+old+”/“+newV+”/g'、/home/my/test/page.html};仍然给出相同的错误。。我在这里错过了什么@WiktorStribiżewString old=“1111”String newV=“2222”@WiktorStribiżewI认为
String s=“\”s/'1111'/'2222'/\”会更好。使用
sed-i.bak“s/'1111'/'2222'/”文件
我认为如果可能,更合适的选择是将sed命令存储在自己的文件中。文件的内容将是
s/'1111'/'2222'/
sed
将使用附加参数
-f/path/to/The/script.sed执行。没有必要交换或转义引号。我不记得ProcessBuilder是否尊重shebangs,但如果它尊重shebangs,它可以进一步简化Java的调用。这仍然会给我同样的错误:@WiktorStribiżewString old=“1111”String newV=“2222”String[]command={“sed”、“-I.bak”、“'s/“+old+”/“+newV+”/g'、/home/my/test/page.html};仍然给出相同的错误。。我在这里错过了什么@WiktorStribiżewString old=“1111”String newV=“2222”@WiktorStribiżew