Combinación serial con paste
Hasta ahora, hemos utilizado el comando paste
para combinar archivos horizontalmente, colocando el contenido de diferentes archivos uno al lado del otro. Sin embargo, paste
también puede combinar archivos en serie (uno después del otro) utilizando la opción -s
. Esto es útil cuando quieres convertir múltiples líneas de un archivo en una sola línea, o cuando quieres procesar cada archivo por separado.
Demostremos la combinación serial utilizando los archivos que ya hemos creado:
paste -s temperatures.txt
La opción -s
le indica a paste
que combine las líneas dentro de cada archivo en serie antes de pasar al siguiente archivo. Dado que temperatures.txt
solo tiene una línea, la salida puede no parecer diferente:
Temperature
Intentemos con el archivo conditions.txt
, que tiene múltiples líneas:
paste -s conditions.txt
La salida debería verse así:
Pressure Humidity Wind_Speed
Observa que todas las líneas de conditions.txt
se han combinado en una sola línea, con tabulaciones separando los valores. Esto es diferente del comportamiento predeterminado de paste
, que combinaría líneas de diferentes archivos.
También puedes utilizar la opción -d
junto con -s
para especificar un delimitador personalizado para la combinación serial:
paste -s -d ',' conditions.txt
La salida debería ser:
Pressure,Humidity,Wind_Speed
Cuando proporcionas múltiples archivos a paste -s
, procesa cada archivo por separado, produciendo una línea de salida separada para cada archivo:
paste -s temperatures.txt conditions.txt dates.txt
La salida debería ser:
Temperature
Pressure Humidity Wind_Speed
Date 2023-04-01 2023-04-02 2023-04-03
Como puedes ver, la primera línea es el contenido combinado de temperatures.txt
(que es solo una línea), la segunda línea es el contenido combinado de conditions.txt
y la tercera línea es el contenido combinado de dates.txt
.
También puedes combinar las opciones -s
y -d
para especificar un delimitador diferente para cada archivo. Por ejemplo:
paste -s -d ',:\n' temperatures.txt conditions.txt dates.txt
La opción -d ',:\n'
especifica tres delimitadores: una coma para el primer archivo, dos puntos para el segundo archivo y una nueva línea para el tercer archivo (que simplemente pasa a la siguiente línea). La salida debería ser:
Temperature
Pressure:Humidity:Wind_Speed
Date 2023-04-01 2023-04-02 2023-04-03
La combinación serial con paste
es una función poderosa que puede transformar la disposición de los datos, haciéndola adecuada para diferentes requisitos de procesamiento.