Игнорировать первую строку (заголовок) целевого файла при объединении и сортировке (Linux/Java)

У меня есть программа Java, которая объединяет два текстовых файла. Итак, у меня есть файл1.txt и файл2.txt и все записи из файла1.txt объединены с файлом2.txt НА файл2.txt. После объединения файл file2.txt сортируется по номерам. Однако файл file2.txt имеет заголовок, и мне нужно найти способ игнорировать этот заголовок (не удалять, игнорировать!) при объединении файлов, потому что после сортировки он путается с записями.

Пожалуйста, помогите мне найти способ игнорировать первую строку файла file2.txt.

Вот код:

 public static void sortRecords(String fileName, String overflow) {

    String s = null;
    String main_file = fileName;
    String overflow_file = overflow;

    String command = "sort -nk1 " + fileName + " -o " + fileName;

    try {

        //cat
        Process merge = new ProcessBuilder("/bin/bash", "-c", "cat " + overflow_file + " >> " + main_file).start();


        //sort
        Process sort = Runtime.getRuntime().exec(command);
      } catch (IOException e) {

    }
}

Пример:

файл1.txt

2  ABC 

3  ABC

file2.txt (изначально пустой, кроме заголовка)

ID Name

file2.txt (после объединения и сортировки)

ID Name

2  ABC

3  ABC

После объединения я очищаю файл file1.txt. Когда пользователь добавляет записи, они сначала сохраняются в файле file1.txt, а после определенного количества записей они объединяются с файлом file2.txt. Итак, проблема возникает при добавлении записей (кроме первого раза). Они как-то путаются, примерно так:

файл2.txt

3  ABC

ID NAME

1  ABC

2  ABC

person useruser123    schedule 11.09.2016    source источник
comment
Не могли бы вы добавить примеры file1.txt, file2.txt и ожидаемого результата?   -  person acm    schedule 12.09.2016
comment
@acm Да, только что :)   -  person useruser123    schedule 12.09.2016
comment
Я не могу воспроизвести вашу проблему. После запуска sort -nk1 для вашего file2.txt я получаю ожидаемый результат с заголовком сверху, если в вашем файле нет пустых строк. Это имеет смысл, поскольку порядок числовых значений, когда строка не является числом, рассматривается как нуль: Строки другой формы обрабатываются как нулевые. Я протестировал его, используя GNU bash, version 4.3.46 и sort (GNU coreutils) 8.25.   -  person acm    schedule 12.09.2016