Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
vasekЯ чётко в нескольких постах расписал задачу - печатать между двумя строками (шаблонами) произвольный текст, игнорируя повторное совпадение шаблонов. |
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
vasekВот это кстати не проблема. Но тут есть нюанс может в этих строках после тэга что-то будет, тогда не сработает.Хотя можно вывести строки с номера до номера вместе с тэгами, а уже потом их убрать... DobrovВы молодец. Но в целом не понятно((
Ошибки в тексте-неповторимый стиль автора©
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
Вообщем за красотой не гнался, важна была конечная цель, просто проверить - написал скриптик, как описывал выше (но для варианта 1-ой строки между тэгами BEGIN/END) - читаем построчно файл, включаем счетчик, доходим до строки с BEGIN и вычисляем номер следующей строки, выводим эту строку и выходим. ~/test.sh Если строка не одна, придется добавлять условие и вычислять номер строки с тэгом END … и выводить строки, находящиеся между вычисленными номерами.Скрипт не привожу - заклюют, самому не очень нравится. PS - Имхо, red, знаток awk, проделал бы это более изящно.
Ошибки не исчезают с опытом - они просто умнеют
|
anode |
|
Темы:
7
Сообщения:
982
Участник с: 30 августа 2011
|
В awk не знаю, а для sed получилось, что-то не читаемое, но на вашем примере рабочее
|
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
anode не там немного сложнее, он дальше уже другой пример привёл...
Ошибки в тексте-неповторимый стиль автора©
|
anode |
|
Темы:
7
Сообщения:
982
Участник с: 30 августа 2011
|
Или так:
|
anode |
|
Темы:
7
Сообщения:
982
Участник с: 30 августа 2011
|
indeviral, да как бы поставленной задаче соответствует:DobrovЯ не писал полностью /^# BEGIN<my tag>... Тот вариант, что приводит Dobrov Dobrovнадо чучуть поправить до И на примере файла mytagtest результат вроде тот, что надо, или я не понял
|
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
anodeну да, вроде то что надо.
Ошибки в тексте-неповторимый стиль автора©
|
Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
Всем спасибо, переделаю скрипт run (это комбайн для запуска часто используемых действий) |
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
anodeВсегда вызывает восторг, когда смотрю на сложную конструкцию команды, собранной с использованием awk или sed Просто сам это использую редко и только в простых конструкциях - ... ну такова специфика работы, использую другое ... а потому, чтобы написать такую конструкцию понадобится несколько часов (минимум полдня) - пока вспомнишь, почитаешь DOC, протестируешь (с 1-го раза никогда не получается) ... Но подвернулся хороший случай и решил устроить экзамен своим молодым хакерам ... понадобилось им на написание скрипта bash около 10 часов. Логику они просекли сразу, но вот над выводом нужных строк помучались долго - то вывод был пустой, то несколько строк были объединены в одну, то отсутствовала буква n ... вообщем урок получили хороший. В итоге родился следующий скрипт ... привожу просто для сравнения с конструкцией на основе sed (вместо одной строки куча строк - зато понятно) 1. Сам скрипт cat ~/teg.sh 2. Обрабатываемый файлcat ~/teg.txt 3. Результат применения скрипта~/teg.sh
PS - осваивайте awk и sed ...
Ошибки не исчезают с опытом - они просто умнеют
|