LINUX.ORG.RU

что-то вроде

awk '/^==\w+==$/ { match($0, /\w+/, a); print a[0]; }'

phoenix ★★★★
()
Ответ на: комментарий от Lego_12239

Это, конечно, не то :-), но если соблюдается условие, что в тексте нет других строк содержащих '==='(в кол-ве 2, если быть точным), кроме нужных, то можно использовать и это сэкономит время обработки.

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

Или с патчем :-):

awk 'BEGIN {FS="==="}; (NF == 3) && (/^===\w+===$/) {print $2}'

Lego_12239 ★★
()

замечание по форме задания вопроса: неправильно полагать что все кто знает awk, знает и перл

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

А зачем тогда нужен awk, если перл может делать то же самое?

Я считал что в скриптах есть awk только у тех, кто не знает других языков (например перла)

anonymous
()
Ответ на: комментарий от anonymous

> А зачем тогда нужен awk, если перл может делать то же самое?

ты меня спрашиваешь? это автор так свормулировал вопрос: хочу на awk сделать то же самое что делает эта строка на перле. (тем самым отсеяв тех кто может быть и мог бы ему помочь но не знает перл)

> Я считал что в скриптах есть awk только у тех, кто не знает других языков (например перла)

не знаю.. awk есть в позиксе. Перла нет..

dilmah ★★★★★
()
Ответ на: комментарий от anonymous

> А зачем тогда нужен awk, если перл может делать то же самое?

1. awk был до перла, и перл многое у него взял.

2. перл здоровый и меньше со временем не становится.

3. awk стандартизирован, как уже выше сказали.

Teak ★★★★★
()
Ответ на: комментарий от dilmah

Не согласен.
Т.к.:
1) Я не полагал что _все_ кто знает awk знает и perl, мне нужен был максимум только _один_ такой человек.
2) Если бы я спросил "как в программе реализующей механизм обработки регулярных выражений ДКА, обойтись без сохраняющих круглых скобок как это сделано в НКА?" Ты думаешь было бы лучше?

По делу: Всем спасибо, за обсуждение тоже...
Special thanks to phoenix and Lego_12239.
:-)

tugrik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.