当前位置: 首页 > 面试题库 >

在Java中执行AWK命令

丌官寒
2023-03-14
问题内容

我正在尝试在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脚本周围的单引号。当您将每个参数作为单独的字符串传递给CommandLinevia时addArgument,就不再需要引号了。

  • 输出重定向。

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



 类似资料:
  • 问题内容: 我有一个我需要使用程序执行的程序。有人可以指导我该怎么做吗? 我的命令是 问题答案: 您应该编写一个这样的Java程序,这是一个基于Nirman的技术博客的示例,其基本思想是执行如下调用PowerShell进程的命令: 为了执行Powershell脚本

  • 问题内容: 自寻找以来已经有一段时间了,但找不到解决方案。我试图在.jar文件中的Linux上执行bash命令。为此,我尝试了很多事情,包括: 因此,当我单击.jar文件时,我希望程序打开bash并执行命令(java -jar …),以执行程序的另一部分。 关于如何做的任何想法? 问题答案: 要了解这一点,您首先需要了解如何在shell提示符下运行该命令。 请注意双引号在哪里。第一个参数是。第二个

  • 问题内容: 我正在尝试从Java执行SOX命令,但不幸的是,它每次都会返回错误。其他所有SOX命令都可以正常运行!!这是代码: 当我在终端中执行相同的sox命令时,它的工作正常。我真的不明白问题是什么!是因为“ |” 符号?? 问题答案: 问题是Runtime.exec()无法理解shell概念,例如“ |”。而是尝试: 问题是exec直接运行二进制文件而不调用shell。“ |” 字符只能被外壳

  • 堆栈跟踪: cat://opt/mapr/zookeeper/zookeeeperversion:没有这样的文件或目录16/10/25 07:41:12信息Sqoop.Sqoop:运行Sqoop版本:1.4.6-mapr-1609 16/10/25 07:41:12警告工具。basesqooptool:在命令行设置密码不安全。考虑改用-p。16/10/25 07:41:13错误tool.bases

  • 通常情况下,我将执行以下操作: 然后我会得到DVD 1和DVD 2的标题。如果我想打印100个标题的DVD,显然我需要很多 我设法将这些system.out.println放在ArrayList中,如下所示: 但是,我无法执行那些system.out.println来显示标题。因此,如何执行碰巧是System.out.println命令的ArrayList的值? 非常感谢任何帮助。谢谢.

  • 问题内容: 我想使用Java程序将avi文件转换为3gp。 为此,我使用“ EM Total Video Converter命令行2.43”,其命令为 “ C:\ EM TVCC > TVCC -f E:\ TestVideo \ 01.avi -o E:\ OutputFiles \ target.3gp” 我在站点http://www.rgagnon.com/javadetails/java-