anode |
|
Темы:
7
Сообщения:
982
Участник с: 30 августа 2011
|
Усложним задачу? Те же яйца - напечатать текст между двумя шаблонами, но в профиль: использовать N-e вхождение, например, второе. Может есть что-то попроще, чем этот монстр:
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
anode, жду когда вклинится red и замутит комбинацию на awk sed и awk, конечно, значительно сокращают команды, но, имхо, не всегда удобно их использовать, а главное требуют напряжения извилин, которые у меня уже усыхают. anodeВсе, больше не усложняюсь ... задачу максимум выполнил - показал молодежи два момента - окружение и использование переменной bash в awk PS - хотя на bash использовать любое вхождение тоже не проблема (легко изменить) .... НО повторюсь - одна команда ... это впечетляет
Ошибки не исчезают с опытом - они просто умнеют
|
Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
anodeа можно упростить задачу? Те же тэги/шаблоны, только без BEGIN, END. Начать печатать после тэга, закончить печать при совпадении строки с этим же тэгом: # <my tag> 11111 22222 Last Line # <my tag> # <my tag> Этот текст печатать нельзя! Повторные шаблоны не нужны… # <my tag> |
anode |
|
Темы:
7
Сообщения:
982
Участник с: 30 августа 2011
|
vasekВезет вам, у меня эти конструкции вызывают ужас ))) Dobrov, так последний монстрик немного видоизмененный с этим справится:
|
Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
anode спасибо за помошь! Взял вариант с исключением повторных тэгов. Использую для подключения функций из конца скрипта (чтобы не загромождать его начало) или при отсутствии нужного файла беру его из скрипта.
|
red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
vasekну раз такое дело не знаю, правильно ли я понял задачу, но вроде как-то так (для первого вхождения):
выведет
если нужно для всех строк между тегами то напечатает
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
redда, по сравнению с sed конструкция короче ... но есть один минус - насколько я понял нужно писать всю строку (# BEGIN<my tag>) Но, имхо, хоть конструкции на sed и awk в одну строку изящные, но для полного анализа скрипт (bash, perl, awk ...) удобнее/информативнее, конечно все зависит от цели.
Ошибки не исчезают с опытом - они просто умнеют
|
red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
vasekв смысле ? там ведь регулярное выражение и при желании можно укоротить до того что нужно в общем виде будет
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
redВиноват, бегло смотрел, не заметил ......... но конструкция намного короче .... awk '/TAG1/{next}/TAG2/{exit}1' PS - в принципе awk это язык программирования, а значит и больше возможностей ... и даже можно писать скрипты ... никак не могу заняться им
Ошибки не исчезают с опытом - они просто умнеют
|
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
a='text # BEGIN<my tag> Tag text2 # END<my tag> ...' и так не работает(
Ошибки в тексте-неповторимый стиль автора©
|