парсинг строки без "костыля"

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:smile: :( ;-) :roll: :pardon: 8) :x :oops: :shock: :cz2: :-D :ROFL: :Yahoo!: :cry: :Search: :Bravo: :good: :bad: :sorry: :no: :unknown: :evil: :crazy: :"": :fool: :-o :drinks: :st: :bn:
Ещё смайлики…

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Развернуть Обзор темы: парсинг строки без "костыля"

парсинг строки без "костыля"

Сообщение bagas » 2017-04-27 9:02:44

А так?
awk -F "{|}" '{ print $2 }'

парсинг строки без "костыля"

Сообщение BlitzKrieg » 2017-04-21 22:49:15

sed -n 's/.*\({.*}\)/\1/p'
sed -n 's/.*{\(.*\)}/\1/p'

парсинг строки без "костыля"

Сообщение Гость » 2017-04-21 6:51:34

спасибо

парсинг строки без "костыля"

Сообщение xM » 2017-04-21 0:23:45

Есть много старых добрых shell команд. К примеру, cut:

Код: Выделить всё

| cut -wf 2

Если надо убрать скобки, то добавляем после ещё одну старую добрую команду tr:

Код: Выделить всё

| tr -d "{}"

парсинг строки без "костыля"

Сообщение Гость » 2017-04-20 19:46:41

Например есть вывод команды:

Код: Выделить всё

VBoxManage list vms
"test1" {07948657-eacf-44c8-987e-44d2708f1f13}
"external" {ce0855a2-3d41-4526-a1f6-d6c63f6bface}
"test2" {8326e080-d1df-4d6b-b074-010bb3bf553d}
"test" {03aeac0c-7e28-48a0-b088-10b793d6f108}



Если надо достать uid, то сделал в лоб:
VBoxManage list vms | awk '{ print $2 }' | awk -F { '{ print $2 }' | awk -F } '{ print $1 }'

Вроде все работает, но для общего развития - как-то можно что ли красивее достать этот uid без этого вот костыля?

Код: Выделить всё

| awk -F { '{ print $2 }' | awk -F } '{ print $1 }'

т.е. в общем виде как быстро извлечь uid из строки {07948657-eacf-44c8-987e-44d2708f1f13}?

Вернуться к началу