fgrep命令中的异常

时间:2012-06-28 12:34:12

标签: java grep

我想在本地目录中找到包含word:

的文件
fgrep word *

我不明白我怎么能得到这个例外:fgrep: *: No such file or directory

更新:

我从java运行此代码:

        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec(command);

当我尝试命令ls时一切正常

2 个答案:

答案 0 :(得分:0)

您可以保存此脚本:

#!/bin/bash
fgrep word *

然后更改权限

chmod +x myscript.sh

使用runtime.exec("myscript.sh");

致电

或者...... 更好解决方案:编写一个java函数,遍历目录中的所有文件并调用runtime.exec("fgrep word " + filename);

或者...... 更好的解决方案:根本不要使用fgrep并执行所有search stuff with java

答案 1 :(得分:0)

ProcessBuilder也适用:

        ProcessBuilder pb = new ProcessBuilder("bash", "-c", command);