Боюсь, что я не эксперт ни в одном из перечисленных трех инструментов, поэтому я прошу вас всех.получить подраздел текстового файла с использованием awk, sed или grep
У меня есть большой текстовый файл, который можно разбить на несколько разделов, каждый из которых имеет заголовок ABC
и нижний колонтитул &&
. Типичный файл будет выглядеть следующим образом:
ABC
...
<ID>
123
...
&&
ABC
...
<ID>
124
...
&&
Мне нужно извлечь раздел, основанный на данном ID
, например, если ID=123
, я хотел бы выход быть:
ABC
<ID>
123
&&
Где представляет собой случайные данные между ABC
<ID>
и между 123
и &&
. Фактически ID
, 123
, является переменной.
Я считаю, что выполнение awk '/ABC/,/\&\&/'
работает в поиске каждого подраздела, но я не знаю, как получить подраздел, соответствующий правильному идентификатору. Заранее благодарю за любую помощь.
Редактировать: Уточненный вопрос и образец ввода.
Как и решение @slitvinov, ваш работает хорошо, если в текстовом файле есть только один раздел, который начинается с ' ABC' и заканчивается символом '&&'. Типичный текстовый файл будет иметь несколько разделов, однако каждый с другим ID. – Alex
@Alex это должно извлекать только раздел, содержащий входной идентификатор, независимо от нескольких разделов. – potong