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 ★★★★★
()

Спасибо всем большое!

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