Awk, чтобы извлечь блок текстаLinux

Ответить
Anonymous
 Awk, чтобы извлечь блок текста

Сообщение Anonymous »

Я пытаюсь выяснить команду/сценарий AWK, чтобы извлечь блок текста из большого файла. Подраздел файла, который мне интересует: < /p>
Board Info: #512
Manufacturer: "Dell Inc."
Product: "0X3D66"
Version: "A02"
Serial: "..CN7016343F00IE."
Chassis Info: #768
< /code>
Информация о плате и информационные строки шасси имеет 2 ведущих пространства, в то время как в отстуцированном блоке есть 4. Я хотел бы не предполагать, что окончательная строка начинается с информации о шасси (может быть что -то еще) и просто полагаться на получение «следующей» линии, начиная с 2 пространства.awk '/^\s{2}Board Info/,/^\s{2}[^B ]/' dump.txt
< /code>
Решает этот конкретный экземпляр, но не будет работать, если вместо «Информация о шасси» строка блока Endling начинается с буквы B (например, Bom). < /p>
Если я использую: < /p>
awk '/^\s{2}Board Info/,/^\s{2}\S*/' dump.txt
< /code>
Окончательный шаблон также соответствует строке «Информация о доске», поэтому я просто получаю эту строку. Как мне получить этот сфокусированный блок (4 ведущих пространства) без жесткого кодирования финального блока (как указано выше) и полагаться на окончательный шаблон, который является «следующей строкой, которая начинается с точно 2 ведущих пространства»?

Подробнее здесь: https://stackoverflow.com/questions/795 ... ck-of-text
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»