我正在尝试使用以下命令提取文件中最常用行的频率:

sort file.txt | uniq -c | sort -r | head -1|  xargs

我试图在java程序中使用processbuilder类来完成。下面是我传递给它的构造函数的方法:
ProcessBuilder builder=new ProcessBuilder("/bin/sh", "-c","sort",fileName,"| uniq -c | sort -r | head -1 | xargs");

当我运行程序时,它只会停止执行超过这一行。没有错误,但程序就停在这一行。我做错什么了?
谢谢!

最佳答案

尝试将文件名直接包含到命令中:

ProcessBuilder builder=new ProcessBuilder("/bin/sh", "-c","sort " + fileName + " | uniq -c | sort -r | head -1 | xargs");

关于java - 使用Java中的ProcessBuilder运行流水线命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43429355/

10-13 03:29