Иногда приходится достать из вывода команды какую-либо подстроку, например uid:
VBoxManage list vms "external" {ce0855a2-3d41-4526-a1f6-d6c63f6bface} "web" {8326e080-d1df-4d6b-b074-010bb3bf553d} "sip2" {696527a4-b87b-474c-a12b-83475d73d799} "sip" {23bf91db-e871-42ae-876b-d68717b0fa6c} "testVM" {69dcd4c7-3902-403a-af75-f9a8238dec6a}
Обычно по-привычке делаю как-то так:
VBoxManage list vms | awk '{ print $2 }' | awk -F { '{ print $2 }' | awk -F } '{ print $1 }'
Такая конструкция работает (| awk -F { '{ print $2 }' | awk -F } '{ print $1 }'), но выглядит "коряво".
Прозрачнее использовать такую команду:
VBoxManage list vms | awk '{ print $2 }' | tr -d "{}"
На выходе получаем чистый uid.