Hace 6 años | Por ccguy a lamiradadelreplicante.com
Publicado hace 6 años por ccguy a lamiradadelreplicante.com

Hoy vamos a hablar de Bat, un nueva herramienta que se postula como reemplazo de cat a la hora de leer y concatenar archivos. Bat está construida en uno de los lenguajes de programación de moda (Rust), y nos ofrece unas cuantas características avanzadas. Entre ellas el resaltado de sintaxis para decenas de lenguajes, diferentes estilos de contenido a la hora de mostrar información adicional, posibilidad de usar colores, integración con Git o paginación.

Comentarios

D

#0 CASI! si no llega a ser por el "alas" te pegas un titular monosílabo 100%.

ccguy

#7 Bueno, las cosas no se usan hasta que se usan, quizá este bat sea tan bueno que todo el mundo acabe instalando rust por defecto igual que se hace con python, que yo mismo también e instalado a regañadientes en el pasado.

D

#8 Instalar rust implica instalar gcc (y cpp), libjs-jquery, binutils, libstd-rust-dev, libc-dev. Eso para un comando.
Para los scrpits de sistemas se utiliza python y perl porque son lenguajes interpretados con pocas dependencias y consumo de recursos entre otras cosas.
Ahora mismo los únicos paquetes que necesitan rust en una Debian son rust-gdb y rust-lldb.
Para justificar instalar otro lenguaje, el que sea, no hace falta solo que lo usen uno o varios comandos, si no que sea realmente necesario y que aporte ventajas que justifiquen su elección. Creo que no es el caso no solo de rust, si no de muchos otros lenguajes.
Probablemente sigamos viendo otros 20 años de perl y puede que más python en las distribuciones.

ccguy

#11 Allá tú, si a mí bat me parece la hostia pues instalaré sus dependencias, que tampoco hay tanto problema.

Con tu planteamiento nunca habría cambios en los sistemas.

D

#13 Si los habría si merece la pena.
Con tu planteamiento para 70 scripts, 70 lenguajes y sus dependencias.

ccguy

#14 Yo no tengo 70 scripts cada uno con su lenguaje que quiera correr. Mi planteamiento es si algo vale la pena pues las dependencias las instalo, como es normal. Y si no pues no.
Dice que habrá 20 años más de perl y python... ¿y luego? ¿qué va a cambiar después de esos 20 años teniendo en cuenta que según tú es mejor no instalar ningún lenguaje nuevo que tenga ya un montón de cosas escritas con el?

D

#15 ¿Un Cat vale la pena un compilador?
¿Tan complejo es que no se puede hacer en Python?
¿Es tan portable?
Seguramente no, no y no.

ccguy

#16 Se puede hacer en python pero al tío que lo ha hecho le gusta más otro lenguaje. Así de fácil.
Usalo o no, qué quieres que te diga.

D

#17 Efectivamente. Y usar un lenguaje concreto por que tengas más familiaridad con él a pesar de que no sea lo más apropiado es casii siempre una mala elección.

pkreuzt

# cat /usr/bin/bat > /dev/null

D

#2 nuuuuuulll :3

pkreuzt

#10 Con less no puedes leer directamente los changelogs, por ejemplo, que se suelen instalar comprimidos en gz. Y cat en su simplicidad es que sirve para todo. Por ejemplo, hay muchos linuxeros que se matan a buscar una herramienta para unir archivos comprimidos en varias partes, cuando tal cosa se puede hacer con cat.

pip

Muy bonito el comando, pero no es ninguna alternativa a cat, es algo que colorea sintaxis.

cat no hace eso ni lo tiene que hacer porque no es para archivos de texto si no para concatenar cualquier cosa, el hecho de que puedas leer un archivo si es de texto no es más que un efecto lógico de concatenar un solo archivo con nada más y enviarlo por stdout.

Nada te impide concatenar dos binarios y pegarlos en un tercero.

cat file1 file2 >>file3

Además cat está implementado en muy pocas líneas de C y esto necesita un intérprete entero.

Total, que muy bonito y tiene su utilidad, pero no reemplaza a cat

pkreuzt

#6 Personalmente para leer cosas en consola suelo emplear most. Aparte de la comodidad de un paginador para avanzar y retroceder por los archivos, soporta colores y compresión.

pip

#9 yo para leer simplemente less.
Pero vaya, que cat en su simpleza no tiene reemplazo, entre otras cosas porque es POSIX y está en todos los sistemas. Lo que está pensado que haga lo hace perfecto.

Para comprimidos gzip tienes zcat que está muy extendido aunque creo que no es POSIX

D

Rust para una "alternativa" al cat...
Creo que me voy a poner a hacer un programa alternativa al comando find. No se si hacerlo en smaltalk, prolog o ada.

ccguy

#3 Hay montones de cosas hechas en python por ejemplo... y si no las miras ni te enteras.

D

#5 Y otras tantas en perl.
Pero es que python y perl son desde hace la tira de años parte de los paquetes base que se instalan con el núcleo de cualquier distribución. Rust no.