содержание grep между двумя стартовыми скобками

Ниже представлен вывод файла, который я хочу получить

[1] RsyncCommand: 0 Number of files: 18 Number of files transferred: 0 Total file size: 24.01M bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 354 File list generation time: 0.002 seconds File list transfer time: 0.000 seconds Total bytes sent: 424 Total bytes received: 69 total size is 24.01M speedup is 48701.73 (DRY RUN) [2] RsyncCommand: 0 Number of files: 21 Number of files transferred: 0 Total file size: 5.22M bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 507 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 586 Total bytes received: 78 total size is 5.22M speedup is 7862.54 (DRY RUN) [3] RsyncCommand: 0 Number of files: 54 Number of files transferred: 0 Total file size: 63.67M bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 1.56K File list generation time: 0.002 seconds File list transfer time: 0.000 seconds Total bytes sent: 1.75K Total bytes received: 185 total size is 63.67M speedup is 32988.24 (DRY RUN) 

Я хочу вывод, если я grep 2

 [2] RsyncCommand: 0 Number of files: 21 Number of files transferred: 0 Total file size: 5.22M bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 507 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 586 Total bytes received: 78 total size is 5.22M speedup is 7862.54 (DRY RUN) 

Как использовать команду grep для отображения ниже вывода?

  • Трубопровод из находки в grep
  • убить несколько процессов с помощью awk-инструментов
  • Удалить строки из файла, который существует в другом файле с более новой меткой времени
  • Найти файлы, содержащие строку в имени файла и другую строку в файле?
  • Как искать определенные разделы файла, а затем извлекать только соответствующую информацию в этом разделе?
  • grep для Java-метода
  • Удалите совпадающую строку и еще несколько из файла
  • Поиск и удаление строк, содержащих несколько шаблонов в файле
  • One Solution collect form web for “содержание grep между двумя стартовыми скобками”

    Вы можете использовать grep с -A . Что-то вроде:

     $ grep -A 13 '^\[2\]' inputfile.txt 

    -A указывает количество строк, которые вы хотите включить после матча.

    Но я думаю, что было бы лучше использовать sed в этом случае:

     $ sed -n '/^\[2\]/,/^$/p' inputfile.txt 

    Это напечатает все между [2] и пустой строкой.

    То же самое с использованием awk :

     $ awk -v RS='' -v ORS='\n\n' '/^\[2\]/' inputfile.txt 
    Interesting Posts

    как обнаружить спящий режим / резюме ноутбука (закрыть крышку, открыть) в osx из сценария bash

    Почему xargs заставляет apt-get прерываться?

    Проблема с беспроводной сетью с RTL8723 и Fedora 18: невозможно подключиться к сети, защищенной wpa2

    Разница между файлом терминала и экраном терминала

    Apache modssl возвращает случайные нежелательные 200, а не 404

    Почему цитаты сохраняются в строковых переменных, когда они окружены одинарными кавычками?

    Условная маршрутизация в соответствии с протоколом HTTP / S

    Разрешать входящие соединения только из Google Translate

    Какие три файла всегда открыты процессом?

    Выполнить команду после панели tmux split

    Команда netcat не может получить доступ к открытому порту

    Как фильтровать контент между определенными ключевыми словами с помощью grep?

    Прокси-сервер SSH

    Могу ли я легко найти свою историю на многих экранах?

    У меня есть три монитора, два из них зеркально отражают друг друга, а последний пуст

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