繁体   English   中英

在Java中执行AWK命令

[英]Executing awk command in java

我正在尝试在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);

谢谢您的帮助

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

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

  • AWK脚本周围的单引号。 当您通过addArgument将每个参数作为单独的字符串传递给CommandLine ,就不再需要引号了。
  • 输出重定向。

    由于创建了子进程,因此您可以控制stdin和stout。 这意味着您需要打开要在Java中追加的目标文件,将其包装在PumpStreamHandler然后将其传递给DefaultExecutor 有关详细信息,请参见此问题: 处理来自apache-commons exec的输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM