Como fazer grep strings a partir da saída do comando

Como fazer grep strings a partir da saída do comando
NAME                READY     STATUS    RESTARTS   AGE
grepme              1/1       Running   0          20h
grepmetoo           1/1       Running   0          19h

Resultado:

grepme
grepmetoo

Como fazer grep em tudo em "NOME" e remover o resto?

Responder1

Usar

command | cut -d' ' -f1 | tail -n+2
# or if delimiter is tab
command | cut -f1 | tail -n+2

# or
command | awk 'NR>1{print $1}'

# or
command | csvcut -d' ' -c NAME | tail -n+2
# or if delimiter is tab
command | csvcut -t -c NAME | tail -n+2

Como você mencionou grep, você também pode usar

command | grep -o '^[^[:blank:]]*' | tail -n+2

Mas eu preferiria um dos itens acima, pois é muito mais difícil de ler.
A cutsolução tem o melhor desempenho, csvcutde longe o pior.

Responder2

Considere gerar apenas os dados desejados para começar:

kubectl get pods --no-headers=true -o custom-columns=":metadata.name"

ou

kubectl get pods --no-headers=true -o name

(Puxado deeste tópico Stack Overflowe avisão geral do kubectl)

informação relacionada