【发布时间】:2016-08-17 09:00:25
【问题描述】:
我正在尝试从 Java 运行 Unix find 命令,但它给了我以下错误。 请就此提出正确的方法-
java -cp automation.jar com.amex.scoring.dao.HiveDAO
/bin/sh: find /axp/rim/nemo/dev/logs -type f -mtime -5 -exec ls {} \;: 没有那个文件或目录
Java 代码
private static final String COMMAND = "find /axp/rim/nemo/dev/logs -type f -mtime -5 -exec ls {} \\;";
private static final String SHELL_NAME = "/bin/sh";
public static void main(String[] args) throws IOException {
final ProcessBuilder pb = new ProcessBuilder(SHELL_NAME,COMMAND);
pb.redirectErrorStream(true);
final Process process = pb.start();
final BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
【问题讨论】:
-
@Jens,很抱歉没有找到你。你想让我在哪里添加完整路径?
-
到 find 命令,我也认为是 ls 命令
-
不必要的双重转义:
\\;