LINUX.ORG.RU

[bash][regexp] помогите составить регексп по поиску символов


0

0

В bash скрипте нужно в строке ${string} найти либо «>=», либо «<=», либо «=» и присвоить найденную последовательность в переменную ${sign}.

Я нафантазировал только

string="foo>=2"
sign=$(echo `expr "$string" : '.*\(\(>=\)\|\(<=\)\)'`)
но работает оно только на паре «>=» «<=»

awk пока осилил, sed выводит строку целиком...

Буду благодарен за подсказки

Ну например

awk -F"=" '{ print $2 }'
будет выводить все, что в строке после «=».

ostin ★★★★★ ()

Я в том плане, если вам все равно, что встретится, почему бы не парсить просто равно =)

ostin ★★★★★ ()

a=«foo>=2 qwe=56 iop<=34»
sign=`expr match «$a» '.*\(=\).*'`
sign=`expr match «$a» '.*\(<=\).*'`
sign=`expr match «$a» '.*\(>=\).*'`

anonomouso ()

sign=$(echo $string | grep -o '[<>]*=')

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