Introducción
Pegar es un comando que le permite fusionar líneas horizontalmente. Produce líneas que constan de las líneas correspondientes en secuencia de cada archivo especificado como argumento, separadas por tabulaciones.
En este tutorial, explicaremos cómo usar el comando pegar.
Cómo usar el comando pegar
paste es una de las utilidades de línea de comandos de Linux y Unix menos conocidas y utilizadas.
La sintaxis general del comando pegar es la siguiente:
paste [OPTION].. [FILE]...
Si no se proporciona un archivo de entrada o cuando se utiliza "-" como argumento, pegar utiliza la entrada estándar.
Supongamos que tenemos los siguientes archivos.
archivo1:
testo1
testo2
testo3
testo4
testo5
archivo2:
titolo1
titolo2
titolo3
titolo4
Si se invoca sin una opción de pegar, leerá todos los archivos dados como argumentos y fusionará horizontalmente las líneas correspondientes de los archivos, separados por espacios:
paste file1 file2
El resultado se verá así:
testo1 titolo1
testo2 titolo2
testo3 titolo3
testo4 titolo4
testo5
En lugar de mostrar la salida en la pantalla, puede redirigirla a un archivo usando los operadores >, >>
paste file1 file2 > file3
Si el archivo no existe, se creará. El operador> sobrescribirá un archivo existente, mientras que el operador >> agregará la salida al archivo.
La opción -d, -delimiters le permite especificar una lista de caracteres para usar como delimitadores en lugar de usar el separador de tabulación predeterminado:
Cada delimitador se utiliza de forma consecutiva. Cuando se agota la lista, pegar se reinicia en el primer carácter delimitador.
Para usar el carácter _ (guión bajo) como delimitador en lugar de TAB, escriba:
paste -d '_' file1 file2
El resultado se verá así:
testo1_titolo1
testo2_titolo2
testo3_titolo3
testo4_titolo4
testo5_
También podemos usar dos delimitadores, aquí hay un ejemplo:
paste -d '%|' file1 file2 file1
Las líneas del primer y segundo archivo están separadas por el primer carácter de la lista de delimitadores. La segunda y tercera línea del archivo están separadas por el segundo delimitador.
Si se han proporcionado varios archivos, el pegado comienza desde el principio de la lista.
testo1%titolo1|testo1
testo2%titolo2|testo2
testo3%titolo3|testo2
testo4%titolo4|testo4
testo5%|testo5
La opción -s (--serial) permite mostrar las líneas de un archivo a la vez:
paste -s file1 file2
El comando fusionará todas las líneas del archivo especificado en líneas separadas:
testo1 testo2 testo3 testo4 testo5
titolo1 titolo2 titolo3 titolo4
Cuando se usa con la opción -z (terminada en cero), pegar usa un carácter nulo para delimitar artículos en lugar del carácter de nueva línea predeterminado. Esta opción es útil cuando se usa pegar junto con los comandos find -print0 y xargs -0 para manejar nombres de archivos que contienen caracteres especiales.
Conclusión
En este tutorial hemos visto cómo usar el comando pegar en Linux. El comando pegar se usa para fusionar líneas coincidentes de ciertos archivos.