Cómo emplear el comando paste en Linux

,
Comando paste

Cuando trabajas en la línea de comandos en Linux, puede que necesites unir líneas de múltiples archivos para crear datos más significativos y/o útiles. Existe una utilidad de línea de comandos conocido como el comando paste que hace esto por ti. En este tutorial, discutiremos los conceptos básicos de este comando, así como las principales características que ofrece mediante ejemplos fáciles de entender y recordar.

El comando paste

La función del comando paste, consiste en fusionar líneas de archivos que son especificados como argumentos de entrada. La sintáxis básicament es:

El comando paste, escribe las líneas a partir de las líneas de cada archivo (FILE) especificado, separados por TABs, en la salida estándar (STDOUT) o sea la pantalla. Si no es especificado ningún archivo o en su lugar se especifica -, lee los elementos desde la entrada estándar (STDIN).

Ejemplos de uso

Veamos algunos ejemplos de uso del comando paste para una mejor comprensión del mismo.

Uniendo varias líneas de varios archivos

Supongamos que tenemos tres archivos (file1.txt, file2.txt y file3.txt) con el siguiente contenido:

Entonces queremos relacionarlos todos de forma tal que se genere una lista con la primera columna sea el número, la seguna el país y la tercera el continente al que pertence el país:

¿Cómo aplicar delimitadores?

Puede que necesites definir un delimitador entre las entradas de cada fila resultante. Esto se puede hacer usando la opción -d, seguida por el carácter de delimitación que deseas usar. El el siguiente ejemplo definimos como delimitador los dos puntos (:):

Este caso en lo particular me resulta muy útiles cuando tengo listas de nombre de usuarios y contraseñas en archivos separados y necesito combinarlos con un delimitador específico.

¿Cómo cambiar la forma en la que las líneas son fusionadas?

De forma predeterminada, el comando paste fusiona líneas de manera que las entradas en la primera columna pertenecen al primer archivo, las de la segunda columna son para el segundo archivo, y así sucesivamente; o sea de forma paralela. Sin embargo, puedes cambiar esto para que la operación de fusión se realice por filas (de forma serial). Para ello emplea la opción -s como se muestra a continuación

¿Cómo especificar múltiples delimitadores?

Puedes usar múltiples delimitadores a la vez. Por ejemplo, si deseas usar «:»  y «|», puedes hacerlo de la siguiente manera:

Observa como la primera columna usa el delimitador «:», mientras que la segunda el delimitador «|».

¿Cómo asegurarse de que las líneas de fusión tengan terminación NUL?

De forma predeterminada, las líneas se fusionan a partir de una nueva línea. Sin embargo, puedes definir que el delimitador de nueva línea sea NUL y no una nueva línea, con la opción -z. Esta opción no se encuentra disponible en Ubuntu 14.04 LTS, ya en versiones superiores sí.

Punto Final

Como hemos visto, el comando paste no es difícil de entender y usar. Puede que ofrezca un conjunto limitado de opciones de línea de comandos, pero la herramienta hace lo que dice. Es posible que su uso no sea diario, pero en determinadas circunstancias no ofrece un ahorro en tiempo real.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *