Usando sed
$ command | sed -n 's/.*text4://p'
"lkpird sdfd"
-n informa ao sed para não imprimir a menos que explicitamente como para. s/.*text4:// informa ao sed para remover qualquer texto desde o início da linha até a ocorrência final de text4: . Se tal linha for encontrada, o p informará ao sed para imprimi-lo.
Usando grep -P
$ command | grep -oP '(?<=text4:).*'
"lkpird sdfd"
-o diz ao grep para imprimir apenas a parte correspondente. (?<=text4:).* corresponde a qualquer texto que segue text4: , mas não inclui text4: .
A opção -P requer o GNU grep. Assim, ele não funcionará com o built-in grep do busybox nem com o padrão grep nos sistemas BSD / Mac OSX.
Usando o awk
A solução grep-awk original pode ser simplificada:
$ command | awk -F': ' '/text4: /{print $2}'
"lkpird sdfd"
Usando o awk (alternativo)
$ command | awk '/text4:/{sub(/.*text4:/, ""); print}'
"lkpird sdfd"
/text4:/ seleciona linhas que contêm text4: . sub(/.*text4:/, "") diz ao awk para remover todo o texto do início da linha para a última ocorrência de text4: na linha. print diz ao awk para imprimir essas linhas.