LINUX.ORG.RU

Оптимизировать sed разбивку файла

 


0

2

Подсакажите как оптимизировать разбивку большого файла на много мелких при помощи sed оптимально быстро.

Пока разбиваю

sed -n «/mask1/p» big.txt > mask1.txt; sed -n «/mask2/p» big.txt > mask2.txt; sed -n «/mask3/p» big.txt > mask3.txt; ... sed -n «/mask100000/p» big.txt > mask100000.txt; но подозреваю это самый топорный из возможных вариантов, да и при файле 1,5 гига это очень долго и очень грузит проц.

Как это можно сделать быстрее? В какую сторону копать?


Как это можно сделать быстрее?

sed не совсем язык, потому для хитрых задач годится плохо.

Извратиться можно, но это будет времязатратно, и "кода" будет сильно больше, чем на Perl, например.

В какую сторону копать?

В сторону awk или Perl?

mord0d ★★★★★
()
  # здесь опустошить или удалить mask1.txt ... mask100000.txt
  sed -n '
    /mask1/w mask1.txt
    # ...
    /mask100000/w mask100000.txt
  ' big.txt

Заметь, что имя файла в команде 'w' не может начинаться с пробела, содержать \n и должно находится в коце строки.

ABW ★★★★★
()

Покажи пример внутренностей файла. Что-то у меня подозрение что ты что не то делаешь.

justAmoment ★★★★★
()
Ответ на: комментарий от anonymous

csplit?

Пример:

pdftk you.pdf cat 1-end output file.pdf
mkdir po; csplit -n 4 -f po/obj. file.pdf /obj/ /endobj/1 '{*}'
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.