Awk разделяет большой файл условно в нескольких выходных файлах

Я должен разделить файл на 90 ГБ на несколько файлов условно (файл представляет собой файл с несколькими таблицами для разделения по одной таблице).

Я создал решение в ksh и awk, что циклы в правилах таблицы и с awk выбирает, следует ли печатать в выходном файле или нет. Проблема в том, что для 29 правил я должен прочитать исходный файл (90 ГБ) 29 раз.

Можно ли писать на несколько файлов с одним чтением исходного файла, перенаправляя в том или ином случае условно?

One Solution collect form web for “Awk разделяет большой файл условно в нескольких выходных файлах”

Вы можете использовать перенаправление (оно задано POSIX, поэтому должно быть доступно с другими awks). Простой пример:

$ awk '$1 % 2 {print > "odd"; next} {print > "even"}' <(seq 1 10) $ tail -n +1 odd even ==> odd <== 1 3 5 7 9 ==> even <== 2 4 6 8 10 

Таким образом, вы можете создать массив с 29 именами файлов или построить их с помощью переменных ( print > "filenum" n , n – некоторый счетчик), или …

  • Awk one-liner для печати столбца таблицы SQL?
  • заменить текст после матча
  • Заменить столбцы с помощью оболочки
  • AWK Сравнить столбец 1 из двух файлов Распечатать столбец добавления к третьему на выходе
  • Условный блок с условным выражением (если)
  • Найти совпадения из индексного файла без точного соответствия и распечатать последнее поле
  • Извлечение уникальной части текста из файла с помощью awk, sed или grep
  • Использование df и попытка awk определенного столбца
  • Используйте переменную оболочки с Awk
  • Синтаксис массива с AWK
  • Распечатайте несколько строк до и после соответствия шаблону, исключая строки, соответствующие другим шаблонам
  • Interesting Posts

    Как убить командную строку хрома над ssh?

    Параллелизировать openssl в качестве входа в dd

    Помогите мне понять, что здесь делает

    Тильда на unix: hpux и / или solaris

    Вторая сессия записывается на диск BD-R с использованием -Z-флаг growisofs вместо -M. Можно ли сделать первый сеанс видимым?

    как получить # файлов, скопированных с помощью rsync

    bash: получить имя массива от параметра к функции с сохранением индексов

    Как отображаются загрузочные сообщения Linux перед входом в систему

    как установить nividia bumbulbee в linux mint 17.1 (корицу)?

    Очистить разрешение setuid с помощью числового режима

    Записи вкладки Zsh не работают по желанию для частичных путей

    Как передать аргументы в сценарий оболочки bash при выполнении этой команды с помощью?

    VBox на безголовом сервере: установить linux без RDP

    / sbin / cryptsetup не найден при загрузке

    Какое программное обеспечение wiki использует CentOS.org?

    Linux и Unix - лучшая ОС в мире.