猿问

使用 java 运行 AWK shell 脚本时没有响应

我正在尝试使用 java 中的 awk。我写了下面的代码,但没有输出。


public class ShellScriptExecution {


    public static void main (String[] a) {

        ShellScriptExecution shellsc = new ShellScriptExecution();

        String command = "awk '/Ayushi/ {print}' /home/ayushi/Desktop/testAwk.txt ";

        String op = shellsc.execute(command, a);

        System.out.println(op);

    }


    private String execute(String command, String[] a) {

        StringBuffer sb = new StringBuffer();

        Process p;

        try {


            //

            //


            p = Runtime.getRuntime().exec(command);

            p.waitFor();

            BufferedReader reader = 

                    new BufferedReader(new InputStreamReader(p.getInputStream()));


                String line = "";           

            while ((line = reader.readLine())!= null) {

                sb.append(line + "\n");

            }

        } catch (IOException | InterruptedException e) {

            e.printStackTrace();

        }

        return sb.toString();

    }

}

请提供一些有关如何在java中使用awk的帮助?如果有其他方法可以做到吗?


慕容3067478
浏览 283回答 3
3回答

一只斗牛犬

只是一个建议,因为由于声誉点不足,我仍然无法发表评论。你为什么不创建一个本地 shell 脚本并在awk那里执行你的命令并使用 java 来触发所说的 shell 脚本?我觉得这样更方便。在这个问题中,您想awk在 java 中使用,但实际上它是一个可以在 shell 脚本中使用的“命令行实用程序”。如果您真的想awk在 java 中使用,那么可以尝试搜索第三方库。
随时随地看视频慕课网APP

相关分类

Java
我要回答