Você pode usar awk
da seguinte forma:
VBoxManage list usbhost | awk -v RS="" '$0 ~ "Realtek"' | awk '/UUID/{print $NF}'
RS=""
define o separador de registro como linha em branco (o padrão é nova linha). ~
verifica se a string está contida e o registro é impresso por padrão. /regex/
executa um regex por linha (como RS="\n"
por padrão) e executa o código a seguir que imprime o último campo porque $i
é o campo i
-th e o separador de campo padrão é " "
que corresponde às execuções de espaços e / ou guias e / ou novas linhas, o que acontece neste caso. Mais informações sobre os significados especiais dos valores das variáveis separadoras podem ser encontradas aqui .