Разделение файла на две части (за один проход)
Модераторы: /dev/random, Модераторы разделов
Разделение файла на две части
Коллеги, подскажите, пожалуйста. Можно ли натравить grep или ещё что-то на файл/поток, чтобы за один проход выбрать строки, соответствующие заданному шаблону, в один файл, а все остальные - в другой. Сейчас приходится сначала делать grep, а потом grep -v для одного и того же файлы - душа просит оптимизации, чтобы grep два раза не вызывать и весь многомегабайтный файл не шерстить второй раз.
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
Re: Разделение файла на две части
Не проверял работоспособность, пишу по памяти, могут быть ошибки.
sed $'/шаблон/{w выход1\nd}' > выход2
sed $'/шаблон/{w выход1\nd}' > выход2
Re: Разделение файла на две части
возможно так
Код: Выделить всё
sed -e '/^something*/w /tmp/result.1' -e '/^something_else*/w /tmp/result.2' source_file
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo