En un shell de Linux moderno, muchos comandos (como ls
) pueden generar texto en color.
Si lo canalizas con otros comandos, pierdes el color. P.ej:
$ ls path
[... folders in blue, executables in green,..etc ]
$ ls path | grep foo
[... all in black and white]
¿Cómo puedo hacer que grep
la segunda parte de la tubería respete los ls
colores (o cualquier otro comando ejecutado)?
Respuesta1
Puede indicar ls
que siempre coloree la salida, ya que cuando se escribe en una tubería --color=auto
no agrega color.
Si lo hace, ls --color=always path | grep --color=never foo
agregará ls
color y evitará grep
que se reemplace con sus propios colores.
Respuesta2
Ambos comandos tienen un --color=always
argumento.
$ ls --color=always | grep e