在Java中执行AWK命令

问题描述

使用Java正确启动命令行过程并不容易。我建议您使用commons- exec而不是自己尝试。

现在,您在命令行中有两件事需要特殊处理:

  • AWK脚本周围的单引号。当您将每个参数作为单独的字符串传递给CommandLinevia时addArgument,就不再需要引号了。

  • 输出重定向

由于创建了子进程,因此您可以控制stdin和stout。这意味着您需要打开要在Java中追加的目标文件,将其包装在中PumpStreamHandler并将其传递给DefaultExecutor

解决方法

我正在尝试在Java中为Linux / unix
os执行awk命令,但问题是当我执行命令时它没有显示任何错误它。但是执行后没有输出,执行它需要几分之一秒,我不知道问题请帮忙。

该代码是

process p =new process():
yes = "awk '{print $1}' /root/Desktop/net/net.zone >> /root/Desktop/net/net.txt";
p = Runtime.getRuntime().exec(yes);

谢谢您的帮助

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”