Linux / Comando paste: combinar archivos por columnas
paste combina las líneas que ocupan la misma posición en varios archivos y las presenta en una sola línea. El separador predeterminado es la tabulación y también se puede usar para convertir valores apilados verticalmente en una sola línea.
Mientras que cat concatena el contenido del archivo de arriba hacia abajo, paste empareja la primera fila con la primera, la segunda con la segunda, y así sucesivamente. Si los archivos tienen diferentes longitudes, el lado que falte se llena con campos vacíos.
Sintaxis básica
paste [opciones] [archivo ...]
La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man paste en el sistema actual.
Ejemplos de uso
Combinar dos archivos por columnas
Agrega la fila correspondiente del segundo archivo al lado de cada fila del primer archivo.
paste names.txt scores.txt
Especificar separador
Separa los valores de los dos archivos con dos puntos en lugar de tabulación.
paste -d ':' names.txt scores.txt
Convertir un archivo en una fila
-s lee el archivo de manera continua y concatena las filas horizontalmente.
paste -s -d ',' names.txt
Combinar las mismas líneas de dos entradas
Es un comando que coloca lado a lado la primera línea de dos archivos, la segunda línea, y así sucesivamente. El siguiente ejemplo no crea un archivo real porque utiliza la sustitución de procesos de Bash.
paste -d, <(printf 'Ana\nBob\n') <(printf '7\n12\n')
Ejemplo de salida:
Ana,7
Bob,12
paste solo alinea las posiciones de las líneas, a diferencia de join, que busca la misma clave. Si uno de los archivos tiene menos líneas, las posiciones faltantes se rellenan con un valor vacío. En entornos que no admiten sustitución de procesos como un shell POSIX, prepare las dos entradas como archivos temporales.
Opciones y formatos principales
| Opciones·Formato | Descripción |
|---|---|
-d lista |
Especifica un separador que se usará en la posición de pegado. |
-s |
Fusiona las filas de cada archivo secuencialmente en una sola línea. |
- |
Usa la entrada estándar en lugar de los argumentos de archivo. |
Precauciones al usar
Primero, verifique si las filas correspondientes de los dos archivos apuntan al mismo objetivo. Si el orden de las filas es diferente, no habrá error aunque se peguen valores incorrectos uno al lado del otro. Si desea unir filas por una clave común, revise las condiciones de ordenamiento y luego utilice join.
Preguntas frecuentes
¿Cuál es la diferencia entre paste y join?
paste une las filas según el número de línea, mientras que join conecta las filas que tienen los mismos valores en los campos comunes.
Documentación oficial
Puede consultar el documento oficial sobre paste para conocer el funcionamiento exacto de las opciones y las diferencias según la implementación.




