![Cómo extraer cadenas de la salida del comando](https://rvso.com/image/154438/C%C3%B3mo%20extraer%20cadenas%20de%20la%20salida%20del%20comando.png)
NAME READY STATUS RESTARTS AGE
grepme 1/1 Running 0 20h
grepmetoo 1/1 Running 0 19h
Resultado:
grepme
grepmetoo
¿Cómo recuperar todo lo que hay debajo de "NOMBRE" y eliminar lo demás?
Respuesta1
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 mencionas grep
, también puedes usar
command | grep -o '^[^[:blank:]]*' | tail -n+2
Pero preferiría uno de los anteriores porque es mucho más difícil de leer.
La cut
solución tiene el mejor rendimiento, csvcut
con diferencia el peor.
Respuesta2
Considere generar solo los datos deseados para empezar:
kubectl get pods --no-headers=true -o custom-columns=":metadata.name"
o
kubectl get pods --no-headers=true -o name
(Sacado deeste hilo de desbordamiento de pilay eldescripción general de kubectl)