我想在本地目录中查找包含单词的文件:
fgrep word *
我不明白我怎么能得到这个例外:fgrep: *: No such file or directory
更新:
我从java运行这段代码:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(command);
当我尝试命令时ls
一切正常
您可以保存此脚本:
#!/bin/bash
fgrep word *
然后更改权限
chmod +x myscript.sh
并打电话给runtime.exec("myscript.sh");
或者......更好的解决方案:编写一个遍历目录中所有文件并调用的java函数runtime.exec("fgrep word " + filename);
或者......更好的更好的解决方案:根本不使用并用javafgrep
做所有的搜索
ProcessBuilder 也可以:
ProcessBuilder pb = new ProcessBuilder("bash", "-c", command);