Grep для строки и чтения содержимого до следующего соответствия строки - PullRequest
3 голосов
/ 19 июня 2019

Я пытаюсь прочитать файл и найти строку, используя grep.Как только я нахожу строку, я хочу прочитать все после строки, пока я не сопоставлю другую строку.Поэтому в моем примере я ищу ...SUMMARY... и хочу прочитать все до появления ... Вот пример:

**...SUMMARY...**
   Severe thunderstorms are most likely across north-central/northeast
   Texas and the Ark-La-Tex region during the late afternoon and
   evening. Destructive hail and wind, along with a few tornadoes are
   possible. Severe thunderstorms are also expected across the
   Mid-South and Ohio Valley.

   **...**North-central/northeast TX and southeast OK/ArkLaTex...
   In the wake of a decaying MCS across the Lower Mississippi River
   Valley, a northwestward-extending outflow boundary will continue to
   modify/drift northward with rapid/strong destabilization this
   afternoon particularly along and south of it. A quick
   reestablishment of lower/some middle 70s F surface dewpoints will
   occur into prior-MCS-impacted areas, with MLCAPE in excess of 4000
   J/kg expected for parts of north-central/northeast Texas into far
   southeast Oklahoma and the nearby ArkLaTex. Special 19Z observed
   soundings are expected from Fort Worth/Shreveport to help better
   gauge/confirm this destabilization trend and the degree of capping.

Я попытался использовать следующий код, но отображает только...SUMMARY... и следующая строка.

sed -n '/...SUMMARY.../,/.../p' 

Что я могу сделать, чтобы решить эту проблему?

====================================================================== Продолжение:

Это результат, который я пытаюсь получить.Показывайте только абзац в разделе ... РЕЗЮМЕ ... и заканчивайте следующим ... так вот что я должен получить в конце:

Сильные грозы, скорее всего, в северо-центральном / северо-восточном Техасе иобласть Ark-La-Tex в конце дня и вечера.Разрушительный град и ветер, наряду с несколькими торнадо, возможны.Также ожидаются сильные грозы в Середине Юга и в долине Огайо.

Я попробовал следующее на основе рекомендации Shellter:

sed -n '/...SUMMARY.../, / ** ... ** / p '

Но я все понимаю.

1 Ответ

1 голос
/ 23 июня 2019

Вы можете использовать

sed -n '/^[[:blank:]]*\.\.\.SUMMARY\.\.\./,/^[[:blank:]]*\.\.\./{//!p;}' file

См. это онлайн sed демо .

ПРИМЕЧАНИЯ :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...