![Como fazer grep strings a partir da saída do comando](https://rvso.com/image/154438/Como%20fazer%20grep%20strings%20a%20partir%20da%20sa%C3%ADda%20do%20comando.png)
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 cut
solução tem o melhor desempenho, csvcut
de 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)