Перенаправить ввод в несколько разных файлов вывода

У меня есть файл ввода, который выглядит так:

<event> foo bar </event> <event> random text </event> 

Я хотел бы разбить это на несколько выходных файлов, так что каждый файл имеет ровно одно <event>...</event> .

Я пробовал делать это с awk , но мне непонятно, как я могу перенаправить вывод на разные выходные файлы. Является ли это возможным? Или мне нужно прибегать к чему-то вроде питона?

One Solution collect form web for “Перенаправить ввод в несколько разных файлов вывода”

Если бы мы сказали re awk

 awk ' /<event>/{ start=1 n++ } start{ print >"output" n } /<\/event>/{ start=0 close("output" n) } ' input.file 
  • cron Vs. сон - что лучше с точки зрения эффективного использования процессора / памяти?
  • Как сделать любой файл и поместить содержимое в этот скрипт
  • Как изменить сортировку результата из grep -rc
  • Разделить видеофайл на части с помощью ffmpeg
  • Кэш всех паролей паролей gpg сразу? Предотвратить необходимость ввода нескольких паролей в gpg?
  • Получить логическое имя беспроводной сети
  • Оболочка: взаимный трубопровод STDIN / STDOUT двух команд
  • Как найти ответственный сценарий с результатами поиска?
  • задайте файл, найдите, где в подкаталоге он был скопирован в
  • Поиск / usr / dict / words для поиска слов с определенными свойствами
  • Почему эти бомбы вилки-ракеты работают по-разному, и каково значение & в ней?
  • Шебанг, начинающийся с `//`?
  • Linux и Unix - лучшая ОС в мире.