У меня проблема с файлом, содержащим ~ 80 000 строк. Это большой файл размером 23 ГБ. Мне удалось кусок до подобных файлов такого размера с помощью следующей команды:очень длинная строка, вызывающая проблемы
awk '{fn = NR % 24; print > ("file1_" fn)}' file1
Однако, эта команда киосков на этом одна проблемы файл. Файл проблемы имеет очень большую строку в 3 миллиарда символов (самые длинные строки в других файлах составляют менее 1 миллиарда), и я предполагаю, что это проблема.
Я хотел бы избавиться от этой длинной строки из файла и продолжить, но это сложно. Я бы просто использовал следующее:
awk 'length < 1000000000' file1 > file2
Однако, это также работает через 3.5 часа. Есть ли быстрый способ просто пройти через файл и момент, когда количество символов в строке превышает, например. 1 миллиард, он перестает считать и переходит к следующей строке?
Я ничего не знаю об этой проблеме («я рассматриваю возможность использования c для ответа), но это звучит интересно. –
Какую версию awk вы используете ('awk -version')? Возможно, новая версия GNU awk (gawk) - это все, что вам нужно. –
Это GNU Awk 3.1.5 – user1308144