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

415
Visualizações
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 Respostas
Responde à pergunta

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 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