Я хотел бы использовать bash для файла, чтобы извлечь текст, который находится между двумя строками. Есть уже некоторые ответы на это, например:извлекать текст между несколькими строками в одной строке
Print text between two strings on the same line
Но я хотел бы сделать это для нескольких случаев, иногда на одной и той же линии, иногда на новых линиях. например, начиная с файлом, как это:
\section{The rock outcrop pools experimental system} \label{intro:rockpools}
contain pools at their summit \parencite{brendonck_pools_2010} that have weathered into the rock over time \parencite{bayly_aquatic_2011} through chemical weathering after water collecting at the rock surface \parencite{lister_microgeomorphology_1973}.
Classification depends on dimensions \parencite{twidale_gnammas_1963}.
Я хотел бы получить:
brendonck_pools_2010
bayly_aquatic_2011
lister_microgeomorphology_1973
twidale_gnammas_1963
Я представляю себе СЭД должен быть в состоянии сделать это, но я не уверен, с чего начать.
Всегда лучше показывать достаточный контекст, чтобы дать некоторую оценку сложности проблемы. Что [anubhava] (https://stackoverflow.com/users/548225/anubhava) [показало] (http://stackoverflow.com/a/34771029), когда я прокомментировал это для более простого ввода. Вероятно, я бы использовал слегка модифицированную версию его команды (grep), которая помещает '\ parencite' перед открытой скобкой, а затем фильтрует выход с помощью' sed' для удаления нежелательного материала. –