用于合并使用java无法正常工作的文件的Linux命令

时间:2015-03-18 08:30:25

标签: java linux

我正在尝试执行终端命令,使用java程序合并两个.csv文件,我的命令在终端上正常工作但在java中无法正常工作。

以下是我的代码:

String command = "awk 'FNR==1 && NR!=1{next;}{print}' /opt/test/*.csv >> /opt/test/output.csv";

    Process proc;
    int exitStatus;
    while (true) {
        try {
            proc = Runtime.getRuntime().exec(command);

            exitStatus = proc.waitFor();

            break;
        } catch (java.lang.InterruptedException e) {
            System.out.println("inside exception" + e.getMessage());
        }
    }
    if (exitStatus != 0) {
        System.out.println("Problem occured");
    }

1 个答案:

答案 0 :(得分:0)

我认为问题不在java代码中,而是在Linux文件处理中:您将输出定向到一个文件,该文件在创建后立即被视为输入。

尝试此命令:

awk 'FNR==1 && NR!=1{next;}{print}' /opt/test/*.csv >> /opt/test/output.txt ; mv /opt/test/output.txt /opt/test/output.csv