Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
Imprima solo la columna 'Nombres' de la salida 'docker-container ls -la'

Al emitir el docker container ls -la , el resultado se ve así:

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox "tail -f /dev/null" 26 seconds ago Up 25 seconds recursing_liskov

Me gustaría obtener solo el nombre del contenedor presente en la columna Names .

Mi idea era usar bash para invertir las columnas en la salida del comando para colocar la columna Names en la primera posición y cortar el nombre del contenedor.

Esto es lo que probé:

 sudo docker container ls -la | rev |tail -n +2 | tr -s ' ' | cut -d ' ' -f 1

Sin embargo, esto no da el resultado esperado y aparece el siguiente error:

 rev: stdin: Invalid or incomplete multibyte or wide character

Estoy atascado porque no sé cómo manejar este error. ¿Se puede arreglar para obtener el resultado que espero? ¿O hay alguna otra forma de obtener mi resultado?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

En lugar de jugar con una salida predeterminada, simplemente imprima exactamente lo que está buscando desde el principio. La mayoría de los subcomandos de la ventana acoplable aceptan una opción --format que tomará una expresión de plantilla go para especificar lo que desea exactamente.

En su caso, creo que el siguiente comando debería dar lo que está buscando:

 $ docker container ls -la --format "{{.Names}}" recursing_liskov

Por supuesto, puede agregar más columnas si lo desea, en el orden que mejor se adapte a sus necesidades. Puede obtener fácilmente una lista de todas las claves disponibles con algo como:

 $ docker container ls -la --format "{{json .}}" | jq { "Command": "\"tail -f /dev/null\"", "CreatedAt": "2022-01-15 23:43:54 +0100 CET", "ID": "a67f0c2b1769", "Image": "busybox", "Labels": "", "LocalVolumes": "0", "Mounts": "", "Names": "recursing_liskov", "Networks": "bridge", "Ports": "", "RunningFor": "20 minutes ago", "Size": "0B (virtual 1.24MB)", "State": "running", "Status": "Up 20 minutes" }

Aquí hay un ejemplo solo para ilustrar el uso de algunos de los campos:

 $ docker container ls -la --format "container {{.Names}} is in state {{.State}} and has ID {{.ID}}" container recursing_liskov is in state running and has ID a67f0c2b1769

Algunas referencias aleatorias de varias que usé:

  • https://devcoops.com/filter-output-of-docker-image-ls/
  • https://windsock.io/customising-docker-cli-output/
over 4 years ago · Santiago Trujillo Relatório

0

No estoy seguro de haber entendido tu pregunta, pero si solo quieres reorganizar el orden de las columnas, puedes usar awk y su función printf . No es la forma más elegante, pero dependiendo de su caso de uso, podría funcionar para usted.

Por ejemplo, puede usar lo siguiente para un comando de salida de dos columnas:

 cmd | awk '{printf ("%s\t%s\n", $1, $2)}'

De la misma manera, podrías hacer:

 docker container ls -la | awk '{printf ("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $8, $1, $2, $3, $4, $5, $6, $7)}'

Como dije, esto puede considerarse una solución sucia, pero no estoy seguro de lo que exige su caso de uso. Tenga en cuenta que la primera fila con el nombre de las columnas no será tan bonita como lo es de forma predeterminada. Puede arreglar eso dando a cada uno de los elementos un ancho (máximo) ( %5s establece un ancho de 5).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda