Я хотел разбить большой файл (185 миллионов записей) на несколько файлов на основе одного значения столбца. Файл - .dat-файл, а разделитель, используемый между столбцами, - это^A (\ u0001).Сплит большого файла на основе значения столбца - linux
Содержание файла выглядит так:
194^A1^A091502^APR^AKIMBERLY^APO83^A^A^A^A0183^AUSA^A^A^A^A^A^A^A^A
194^A1^A091502^APR^AJOHN^APO83^A^A^A^A0183^AUSA^A^A^A^A^A^A^A^A
194^A^A091502^APR^AASHLEY^APO83^A^A^A^A0183^AUSA^A^A^A^A^A^A^A^A
194^A3^A091502^APR^APETER^APO83^A^A^A^A0183^AUSA^A^A^A^A^A^A^A^A
194^A4^A091502^APR^AJOE^APO83^A^A^A^A0183^AUSA^A^A^A^A^A^A^A^A
Теперь я хотел бы разделить файл на основе второго значения столбца, если вы видите третью строку второго значение столбца пусто, так что все пустые строки должны Приходите один файл, остальные должны иметь один файл.
Пожалуйста, помогите мне в этом. Я попробовал google, кажется, мы должны использовать awk для этого.
С уважением, Шанкар
'AWK -F '\ x01'«{печать> ($ 2 == "пустой"? "": "Нормальный")» .dat "} '' –
Это тоже сработает, но я не думаю, что это яснее. YMMV. – Wintermute
Собирался публиковать как ответ, но он был слишком похож на ваш, поэтому я думал, что просто добавлю в качестве альтернативы комментарии :) –