Cómo extraer cadenas de la salida del comando

Cómo extraer cadenas de la salida del comando
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 cutsolución tiene el mejor rendimiento, csvcutcon 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)

información relacionada