Você precisa definir como os campos são delimitados de uma forma ou de outra. No seu caso, parece que cada linha consiste em uma tag que termina com dois pontos e, em seguida, alguns espaços em branco e, em seguida, um valor. Com o awk, você pode definir o delimitador de registro como :
ou (com a maioria das versões do awk) como :
e após o espaço em branco.
awk -v RS=':[ \t]*' '$1 == "Name of Device Load" {print $2}'
Observe que $2
corresponde apenas até o segundo cólon na linha. Se você quiser imprimir o resto da linha, pode retirar a tag:
awk -v RS=':[ \t]*' '$1 == "Name of Device Load" {sub(/^[^:]*:[ \t]*/); print $0}'
Se tudo o que você deseja fazer é extrair dados das linhas que correspondem a um padrão específico, o uso de sed faz o trabalho mais diretamente. Passe a opção -n
para desativar a impressão automática e imprima apenas as linhas para as quais a retirada da etiqueta desejada é bem-sucedida.
sed -n 's/^Name of Device Load: *//p'