
paste
es un comando que le permite fusionar líneas de archivos horizontalmente. Produce líneas que consisten en las líneas secuencialmente correspondientes de cada archivo especificado como argumento, separadas por tabulaciones.
En este tutorial, explicaremos cómo usar el paste
comando.
Cómo usar paste
Comando #
paste
es una de las utilidades de línea de comandos de Linux y Unix menos conocidas y utilizadas.
La sintaxis general para paste
El comando es el siguiente:
paste [OPTION].. [FILE]...
Si no se proporcionan archivos de entrada o cuando -
se da como argumento, paste
utiliza la entrada estándar.
Supongamos que tenemos los siguientes archivos:
file1Iron Man
Thor
Captain America
Hulk
Spider Man
file2Black Widow
Captain Marvel
Dark Phoenix
Nebula
Cuando se invoca sin una opción paste
leerá todos los archivos proporcionados como argumentos y fusionará horizontalmente las líneas correspondientes de los archivos, separados por espacios:
paste file1 file2
Iron Man Black Widow
Thor Captain Marvel
Captain America Dark Phoenix
Hulk Nebula
Spider Man
En lugar de mostrar el resultado en la pantalla, puede redirigirlo a un archivo usando el >
, >>
operadores:
paste file1 file2 > file3
Si el archivo no existe, se creará. El >
el operador sobrescribirá un archivo existente, mientras que el >>
el operador agregará la salida al archivo.
El -d
, -delimiters
La opción le permite especificar una lista de caracteres que se utilizarán como delimitadores en lugar del predeterminado TAB
separador.
Cada delimitador se utiliza consecutivamente. Cuando se agote la lista, paste
comienza de nuevo desde el primer carácter delimitador.
Para usar el _
(guion bajo) como delimitador en lugar de TAB
, escribiría:
paste -d '_' file1 file2
Iron Man_Black Widow
Thor_Captain Marvel
Captain America_Dark Phoenix
Hulk_Nebula
Spider Man_
Este es un ejemplo del uso de dos delimitadores:
paste -d '%|' file1 file2 file1
Las líneas del primer y segundo archivo se separan con el primer carácter de la lista de delimitadores. La segunda y la tercera línea del archivo se separan con el segundo delimitador.
Si se proporcionaron más archivos, paste
comienza de nuevo desde el principio de la lista.
Iron Man%Black Widow|Iron Man
Thor%Captain Marvel|Thor
Captain America%Dark Phoenix|Captain America
Hulk%Nebula|Hulk
Spider Man%|Spider Man
El -s
, --serial
opción le dice a paste
para mostrar las líneas de un archivo a la vez en lugar de una línea de cada archivo.
paste -s file1 file2
El comando combinará todas las líneas del archivo dado en líneas separadas:
Iron Man Thor Captain America Hulk Spider Man
Black Widow Captain Marvel Dark Phoenix Nebula
Cuando se usa con -z
, --zero-terminated
opción, paste
utiliza un carácter nulo para delimitar los elementos en lugar del carácter de nueva línea predeterminado. Este comportamiento es útil cuando paste
se usa en combinación con find -print0
y xargs -0
comandos para manejar nombres de archivos que contienen caracteres especiales.
Conclusión #
El paste
El comando se usa para fusionar las líneas correspondientes de archivos dados.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.