Si trabaja principalmente en la línea de comandos de Linux, la edición de texto es probablemente una de las tareas más frecuentes en las que se verá involucrado. Ya sea que se trate de editar scripts, archivos de código fuente, archivos de configuración o un archivo de texto normal, hay varios textos herramientas de edición que te ayudan en tu trabajo.
Una de esas herramientas es colrm. , que discutiremos aquí usando algunos ejemplos fáciles de entender. Pero antes de comenzar con eso, vale la pena mencionar que todos los ejemplos aquí se probaron en una máquina con Ubuntu 18.04 LTS.
comando colrm de Linux
El comando colrm en Linux le permite eliminar columnas seleccionadas de un archivo. La siguiente es 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.
Los siguientes son algunos ejemplos de estilo de preguntas y respuestas que le darán una buena idea de cómo funciona el comando colrm.
P1. ¿Cómo usar el comando colrm?
Como ya se mencionó, el comando colrm le permite eliminar columnas. Por lo tanto, solo necesita especificar un valor numérico, y la columna correspondiente a ese valor, así como todas las columnas subsiguientes, se eliminarán en la salida.
Por ejemplo, aquí hay un archivo de texto 'archivo1.txt' que contiene el siguiente texto:
abcdefgh
Para colrm, cada alfabeto representa una columna. Ahora, supongamos que el requisito es eliminar la columna 6 y todas las columnas subsiguientes, entonces esto se puede hacer usando:
colrm 6 < file1.txt
El siguiente es el resultado que producirá el comando anterior:
Entonces puede ver que las columnas 6, 7 y 8 fueron eliminadas.
P2. ¿Cómo eliminar solo una columna?
En ese caso, debe especificar las columnas de inicio y fin. Supongamos que el requisito es eliminar solo la columna número 6, luego, para eso, debe ejecutar el comando colrm de la siguiente manera:
colrm 6 6 < file1.txt
Aquí está el resultado que produjo este comando en mi sistema:
Para que pueda ver que solo se eliminó la sexta columna. No hace falta decir que puede eliminar un rango de columnas de esta manera. Por ejemplo:
columna 2 6
Este comando eliminará las columnas que van de la 2 a la 6. Vale la pena tener en cuenta que la numeración de las columnas comienza desde 1, no desde cero.
La página de manual de la herramienta explica esto con bastante claridad. Aquí está el extracto relevante:
Además, tenga en cuenta que colrm devuelve 0 en caso de éxito y>0 si se produce un error.
Eso es muy fácil. No tiene que hacer nada adicional, solo proporcione el número de columna (o rango) en la entrada.
He aquí un ejemplo: Entonces, el comando espera a que proporcione la entrada en tiempo de ejecución, y luego produce una salida después de presionar la tecla Intro.
Como probablemente estará de acuerdo, el comando colrm es una pequeña utilidad útil cuando se trata de eliminar columnas de un archivo de texto. Aquí, en este tutorial, hemos discutido casi todas sus características. Una vez que haya terminado de practicar estos, puede obtener más información sobre el comando dirigiéndose a su página de manual.
P3. ¿Cómo maneja colrm los retrocesos y las tabulaciones?
Tab characters increment the column count to the next multiple of eight.
Backspace characters decrement the column count by one.P4. ¿Cómo hacer que colrm acepte la entrada de stdin?
Conclusión