¿Es posible obtener resultados coloreados del comando find ? Es decir, en la ruta de cada elemento encontrado, los directorios son azules, los scripts ejecutables son verdes, etc. Estoy usando la versión 4.4.2 de GNU findutils .
Editar: para aclarar, cada resultado se resaltaría así:
./path/to/file.sh
^ ^ ^
| | L green
blue
(si, por ejemplo, ejecutando find . -type f).

bfsque tiene esta funcionalidad: github.com/tavianator/bfsRespuestas:
ACTUALIZACIÓN: agregué un nuevo guión (diferente) ...
Ignacio Vazquez-Abramstenía un punto: la pregunta realmente preguntaexecutable scripts are green, et cetera... bueno ... encontrarás un guión (prototipo) al final de esta respuesta.Esta primera sección (original) trata sobre
grcygrcat.Esto debería funcionar;
grc... (como ha señalado enzotib ... El nombre del paquete esgrc... La subutilidad utilizada en el ejemplo, esgrcatEl siguiente ejemplo imprime
./en magentabin/cpp/en cianbiginten blanco negritaTodavía no he resuelto por completo cómo maneja su archivo de configuración, pero parece que hará lo que quiera (una vez que lo domestique) ... por ejemplo. para un archivo sin subdirectorio, y la secuencia de colores parece no estar en la misma secuencia que las expresiones.
Supongo que es posible (pero estoy un poco ocupado en este momento) ...
Aquí está el nuevo guión inspirado en Ignacio :)
Esto funciona si usa una sola ruta como primer argumento para
find.Hay problemas no probados en este script. Es solo concepto.
Un problema es: Enlaces simbólicos ... aguas turbias ...
Tal como está, imprime un
ERRORcuando encuentra un tipo desconocido (por ejemplo, un enlace simbólico), y luego continúa procesando más allá de eso.Gracias a
enzotibpor lostputejemplos.fuente
grcatutilidad delgrcpaquete :) Al principio tuve algunas dificultades para entender lo que está diciendo.Podrías
-exechacer la mayor parte de eso (mi solución no colorea la parte del directorio de manera diferente). Si tiene-printsufindcomando, reemplácelo por-exec ls --color -d; Si está utilizando la impresión implícita, agréguela. Esto supone que sulssoporte es la--coloropción.fuente
Esto hace solo el resaltado de dos colores para la ruta y el nombre de archivo, no la cosa por tipo de archivo de
ls:Configure los colores de
grepsalida de la manera correcta para partes coincidentes y no coincidentes, y haga coincidir el nombre del archivo:Es posible que no desee sobrescribir la variable
GREP_COLORS, así que configúrela solo paragrep:(Las definiciones de la variable obsoleta
GREP_COLORtienen menos prioridad que las deGREP_COLORS)Para los códigos de color, consulte
colortest-16desde el paquetecolortest,y la sección "Conjunto de gráficos Rendition" de secuencias de comandos de terminal ANSI .
fuente
Me gustó la idea -exec. Lo usé para crear esta función:
fuente