Posted by q3it on sábado, noviembre 12, 2022 in Linux
Hoy voy a hablar de dos comandos que no son muy utilizados por los usuarios normales de linux, pero sí por los programadores en algún lenguaje de programación son los comandos expand y unexpand y lo que hace el primero es convertir tabuladores en espacios he imaginemos que tenemos documento con muchos tabuladores y en vez de esto decidimos para tener un mejor formato convertirlo en espacios. Entonces utilizamos el comando expand especificamos el fichero nos lo visualizará en pantalla con espacios en vez de estabulado.
Luego podríamos redirigir la salida para crear un nuevo fichero que contendría los espacios en vez de los tabuladores, por defecto va a convertir un tabulador en 8 espacios pero nosotros podemos cambiar ese comportamiento colocando -t y el número de espacios que nosotros queremos utilizar. Por ejemplo, tenemos un fichero llamado tabulado.txt y aquí vamos a tener la frase "Bienvenido a mi blog" con tres tabulados separando cada palabra.
Si nosotros utilizamos expand tabulado.txt veremos que lo convierte en espacios, pero nosotros no vemos diferencia, pero si especificamos que cada tabulador lo convierta en un espacio con la opción -t, ahora sí que vemos la diferencia, vemos que hemos convertido este tabulador en un espacio.
Podemos hacer lo mismo con el comando unexpand pero al revés, es decir, convertir espacios en tabulador. Por defecto va a buscar 8 espacios y lo convertirá en un tabulador y también podemos utilizar la acción -t para decidir el número de espacios que tiene que buscar para convertirlo.
Por ejemplo, si yo tengo el fichero llamado espaciado.txt que está lleno de espacios, vemos que hay ocho espacios y si yo uso unexpand, a este fichero le convierte en un tabulador cada espacio que encuentre.
Si le añadimos la opción -t podemos buscar 4 espacios en vez de 8, lo que creará son 6 tabuladores, 2 por cada tabulacón. Vemos que ha buscado 4 espacios y ha añadido 3 tabuladores porque teníamos ocho espacios.
Como comentaba estos comandos no son muy normales para los usuarios de linux, pero para la gente que es desarrolladora y administra sistemas puede ser muy útil ya que puede convertir un fichero que contenga muchas tabulaciones y convertirlo en espacios o al revés.