A maneira mais simples seria usar awk
.
awk '/^Result: / {print $2}' file_name
Isso combina linhas que começam com Result:
e imprime o segundo campo no arquivo, conforme definido pelo padrão $ IFS, que é espaço em branco.
Eu tenho um arquivo ( file_name
) que contém exatamente uma ocorrência da string Result:
, no início de uma linha. Quero imprimir todos os caracteres após a string Result:
nessa linha até encontrar um espaço. Qual comando de shell devo usar?
grep "Result: " file_name | tail -c +9
não está funcionando.
Parece que você quer:
sed -ne 's/^Result: \([^ ]*\).*//p' file_name
Corresponde à linha com "Resultado:" e imprime a primeira palavra depois dela. Outras linhas não são exibidas.
tillblank=$(egrep -o "^Result: [^ ]* " file)
echo ${tillblank/*:/}
egrep -o apenas mostra o padrão que você pesquisou. A próxima linha remove tudo até o cólon.
Tags grep text-processing shell