Пожалуйста, помогите - я очень ржав с моим sed/awk/grep, и я пытаюсь обработать файл (экспорт PDF, который составляет около 4700 страниц).Сценарий Bash для печати рисунка 1, поиск и печать всех строк с рисунка 2 по шаблону 3 и рисунка печати 4
Вот что я пытаюсь сделать: поиск/печать строки соответствия шаблону 1, поиск шаблона соответствия строк 2 и печать этой строки и всех строк от нее до шаблона 3 (если он включает/печатает строку с рисунком 3, я в порядке с этим в данный момент) и поиск/печать строк, соответствующих рисунку 4.
Все вышеуказанные шаблоны должны происходить по порядку (рисунок 1,2,3,4) несколько сотен раз в файл, и мне нужно держать их в порядке.
Схема 1: строки, начинающиеся с 1-5 и пробельных (это достаточно конкретным, несмотря на это, казалось расплывчатым) шаблон 2: строки, начинающиеся с (заглавными буквами) РЕШЕНИЕ: шаблон 3: Строки, начинающиеся с (все заглавные буквы) СООТВЕТСТВИЕ: Pattern 4: строки, начинающиеся с IP-адресами
Вот что я починил, но это явно не работает:
#!/bin/bash
#
sed '
/^[1-5]\s/p {
/^SOLUTION/,/^COMPLIANCE/p {
/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/p }
}' sample.txt
Добавьте несколько строк из 'sample.txt' к вашему вопросу. – nwk
grep предназначен для поиска RE в файле и печати соответствующей строки. sed предназначен для создания простых подстановок на отдельных строках в файле. Для чего-то еще вы просто должны использовать awk. Отправьте пример ввода и ожидаемый результат, и мы можем вам помочь. Что, если, например, вы нажмете две строки, начинающиеся с цифр 1-5 и пробел перед первой строкой, начинающейся с РЕШЕНИЯ? Вы игнорируете первый или что? Поиск строк, которые совпадают, всегда тривиально, он обрабатывает похожие строки, которые не совпадают, что сложно, поэтому создайте свой образец ввода, чтобы показать THAT. –