Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

408
Vistas
Grep no muestra color incluso cuando se usa --color=always

Grep generalmente muestra texto resaltado en rojo, que es lo que quería, pero esta vez no parece hacer eso sin importar lo que haga. Estoy haciendo esto desde un contenedor Docker ( nginx:1.19-alpine más específicamente) e instalé Bash 5.1 usando RUN apk add bash . Luego agregué un archivo de configuración ~/.bashrc con este contenido:

 # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac force_color_prompt=yes color_prompt=yes if [ "$color_prompt" = yes ]; then PS1='🐳 ${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@server-nginx\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='🐳 ${debian_chroot:+($debian_chroot)}\u@server-nginx:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@server-nginx: \w\a\]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' # colored GCC warnings and errors #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'

La cuestión es que $ ls muestra una salida coloreada. Pero cuando trato de canalizarlo a través de grep, todavía es blanco y negro.

 // Directories have colors!! $ ls // No color highlighting here $ echo "baba" | grep --color=always ba // No colors here either $ ls | grep bin

La misma configuración exacta en una imagen de Docker diferente funcionó perfectamente ( php:7.4-fpm y node:14 ), por lo que tal vez haya algo específico sobre la imagen nginx:1.19-alpine que no muestra colores para grep.

PS printf '%q\n' "$GREP_COLORS" "$GREP_COLOR" imprime este resultado:

 $ printf '%q\n' "$GREP_COLORS" "$GREP_COLOR" ms=01\;33 ''
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Después de mucho investigar, finalmente encontré la solución. La versión de grep que vino con esta imagen de Docker en particular ( nginx:1.19-alpine ) era una especie de "versión de grep de caja ocupada". De todos modos, actualizar grep funcionó:

 // Inside of Dockerfile added this RUN apk add --no-cache --upgrade grep

Ahora grep muestra una salida coloreada. ¡Uf! Espero que esto ayude a otros que puedan encontrarse con este mismo problema.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda