Javaランタイムを使用して次のコマンドを実行しようとしています。
find /home/Alison/workspace/FunctionalTestFramework/src/com/q1labs/qa/selenium/screens -type d | awk -F/ 'NF <= old_NF {print prev} {old_NF=NF; prev=$0} END {print $0}'
このコマンドは、ターミナルに直接入力すると正常に機能しますが、次の関数で実行すると、次のエラーが発生します。
find: paths must precede expression: |
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Process exitValue: 1
Java関数:
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("find /home/Alison/workspace/FunctionalTestFramework/src/com/q1labs/qa/selenium/screens -type d | awk -F/ 'NF <= old_NF {print prev} {old_NF=NF; prev=$0} END {print $0}'");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null)
System.out.println(line);
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t)
{
t.printStackTrace();
}