2017-07-12 16 views
1

Javaコードからsedコマンドを実行しようとしています。このコマンドは、基本的に、ファイル "OIMV2Migration.sh"内の "python"という単語を "java"に置き換えます。私が使用していますSEDコマンドがJavaコードで実行されない

コードスニペットは、次のとおりです。

String [] replaceTextInOIMscipt = {"sed" , "'s:java:python:g'" ,OIMV2Migration.sh"}; 

Runtime.getRuntime().exec(replaceTextInOIMscipt); 

コードのこの作品は、OIMV2Migration.shファイルに変更を行っていません。

+1

試してみてください: '{" sed "、" -i "、" s:java:python:g '"...' – komar

+0

試しました。 –

+0

これはどのプラットフォームですか?特に、あなたはGNU sedを使用していますか? –

答えて

0

sedスクリプトが無効なため、機能しません。それは有効なsedコマンドではない一重引用符文字、'で始まります。あなたはそれがあなたのケースでは、sで起動したい:

String [] replaceTextInOIMscipt = {"sed", "s:java:python:g", "-i", "OIMV2Migration.sh"}; 
Runtime.getRuntime().exec(replaceTextInOIMscipt); 

また、あなたは場所にファイルを編集する-i/--in-placeフラグを逃しています。

関連する問題