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.