Tutorial de comandos colrm de Linux para principiantes (con ejemplos)
Si trabajas principalmente en la línea de comandos de Linux, es probable que la edición de texto sea una de las tareas más frecuentes en las que te encuentres. Tanto si se trata de editar scripts, archivos de código fuente, archivos de configuración o un archivo de texto normal, hay varias herramientas de edición de texto que te ayudan en tu trabajo.
Una de estas herramientas es colrm, de la que hablaremos aquí con algunos ejemplos fáciles de entender. Pero antes de empezar con eso, vale la pena mencionar que todos los ejemplos aquí han sido probados en una máquina Ubuntu 18.04 LTS.
Comando colrm de Linux
El comando colrm en Linux te permite eliminar las columnas seleccionadas de un archivo. A continuación se muestra su sintaxis:
colrm [start [stop]]
Y así es como la página man de colrm describe lo que hace la herramienta:
The colrm utility removes selected columns from the lines of a file. A
column is defined as a single character in a line. Input is read from
the standard input. Output is written to the standard output.
If only the start column is specified, columns numbered less than the
start column will be written. If both start and stop columns are speci?
fied, columns numbered less than the start column or greater than the
stop column will be written. Column numbering starts with one, not zero.
A continuación se presentan algunos ejemplos de estilo Q&A que deberían darte una buena idea de cómo funciona el comando colrm.
Q1. ¿Cómo se utiliza el comando colrm?
Como ya hemos dicho, el comando colrm te permite eliminar columnas. Así que sólo tienes que especificar un valor numérico, y la columna correspondiente a ese valor, así como todas las columnas posteriores, se eliminarán en la salida.
Por ejemplo, aquí tienes un archivo de texto ‘archivo1.txt’ que contiene el siguiente texto:
abcdefgh
Para colrm, cada alfabeto representa una columna. Así que ahora, supongamos que el requisito es eliminar la columna 6 y todas las columnas subsiguientes, entonces esto se puede hacer utilizando:
colrm 6 < file1.txt
A continuación se muestra la salida que producirá el comando anterior:
Así puedes ver que las columnas 6, ,7 y 8 fueron axadas.
Q2. ¿Cómo eliminar sólo una columna?
En ese caso, tienes que especificar las columnas de inicio y de fin. Supongamos que el requisito es eliminar sólo la columna número 6, entonces para ello, tienes que ejecutar el comando colrm de la siguiente manera:
colrm 6 6 < file1.txt
Esta es la salida que produjo este comando en mi sistema:
Así puedes ver que sólo se ha eliminado la 6ª columna. Ni que decir tiene que puedes eliminar un rango de columnas de esta forma. Por ejemplo
colrm 2 6 < archivo1.txt
Este comando borrará las columnas comprendidas entre la 2 y la 6. Conviene tener en cuenta que la numeración de las columnas empieza por el 1, no por el cero.
Q3. ¿Cómo maneja colrm los espacios en blanco y los tabuladores?
La página de manual de la herramienta lo explica con bastante claridad. Aquí tienes el fragmento correspondiente:
Tab characters increment the column count to the next multiple of eight.
Backspace characters decrement the column count by one.
Además, ten en cuenta que colrm devuelve 0 en caso de éxito, y >0 si se produce un error.
Q4. ¿Cómo hacer que colrm acepte entradas desde stdin?
Es muy fácil. No tienes que hacer nada extra: basta con proporcionar el número de columna (o rango) en la entrada.
Aquí tienes un ejemplo:
Así, el comando espera a que proporciones la entrada en tiempo de ejecución, y luego produce otutput después de que pulses la tecla intro.
Conclusión
Como seguramente estarás de acuerdo, el comando colrm es una pequeña utilidad muy útil cuando se trata de eliminar columnas de un archivo de texto. Aquí, en este tutorial, hemos hablado de casi todas sus funciones. Una vez que hayas terminado de practicarlas, puedes aprender más sobre el comando dirigiéndote a su página man.