Грепируйте линии между появлением одного и того же шаблона

Я хотел бы grep строки между одним и тем же вхождением шаблона, а затем сохранить каждую соответствующую строку в другом файле. Например, у меня есть следующее:

name aaa bbb bbb ccc name aaa1 bbb1 ccc1 name ... 

Я бы хотел

 name aaa bbb bbb ccc 

в файле1

 name aaa1 bbb1 ccc1 

в файле 2 и т. д.

Я пробовал с инверсией флагов в awk:

 awk '/^name/ {flag=!flag; next} flag {print}' 

но я не понимаю, чего хочу.

Есть ли у вас какое-либо предложение сделать это?

  • Найти команду, которая не работает в сценарии оболочки
  • Использовать grep с или
  • Оптимизация GNU grep
  • grep для переменной
  • Как скопировать дату, меньшую, чем конкретная дата в файле
  • Почему результат grep зависит от пути к папке?
  • Как grep stderr?
  • Греп что-то конкретное из результатов последнего исполнения?
  • 2 Solutions collect form web for “Грепируйте линии между появлением одного и того же шаблона”

    Как насчет:

     awk '/name/{n+=1}{print > "file_"n".txt"}' 

    Будет file_1.txt file_2.txt file_1.txt , file_2.txt … и т. Д.

    Вы также можете использовать «csplit» для этой цели, как в:

     csplit yourfile -s -n 1 -f file_ '%name%' '/name/' '{*}' 

    Это создаст файлы «file_1», «file_2» и т. Д.

    Interesting Posts

    xdotool – как получить идентификатор окна с учетом его X и Y?

    Атрибут SPEC% files и переменные Shell

    Пример /etc/apt/sources.list для Linux Mint 17

    выбор строки из записи в файле

    Шифрование диска с содержимым

    Как запустить bash на CYGWIN

    Сохранять вход bash в верхней строке экрана

    Запуск сценария bash как менее привилегированного пользователя с выскочкой

    Как получить имя файла, если определенное регулярное выражение присутствует в файле в Perl

    «trap» killall $$; rm -f $ folder2; exit '18 20 24

    Могу ли я сделать так, чтобы все новые пользователи, созданные в будущем, по умолчанию имели истекший пароль?

    Определить версию libc, используемую для создания статической библиотеки

    Создать таблицу с частотой уникальных имен, полученных из нескольких CSV-файлов

    Почему пакет ядра -rt (RT-Preempt) по умолчанию включен в ядро ​​mainline?

    Как я могу использовать cron для отображения сообщений на экране через notify-send

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