Pegar comando en Linux con ejemplos

El comando Pegar es uno de los comandos útiles en el sistema operativo Unix o Linux. Se utiliza para unir archivos horizontalmente (fusión paralela) generando líneas que consisten en líneas de cada archivo especificado, separadas por tabulaciones como delimitador, a la salida estándar. Cuando no se especifica ningún archivo, o se coloca un guión («-«) en lugar del nombre del archivo, se pegan las lecturas de la entrada estándar y se muestra la salida tal como está hasta que se da un comando de interrupción [Ctrl-c] .

Sintaxis:

paste [OPTION]... [FILES]...

Consideremos tres archivos que tienen nombre , estado , capital y número . El archivo de estado y capital contiene 5 nombres de los estados y capitales de la India, respectivamente. El archivo numérico contiene 5 números.

$cat state
Arunachal Pradesh
Assam
Andhra Pradesh
Bihar
Chhattisgrah

$cat capital
Itanagar
Dispur
Hyderabad
Patna
Raipur

Sin ninguna opción pegar fusiona los archivos en paralelo. El comando pegar escribe las líneas correspondientes de los archivos con tabulador como delimitador en la terminal.

$paste number state capital
1       Arunachal Pradesh       Itanagar
2       Assam   Dispur
3       Andhra Pradesh  Hyderabad
4       Bihar   Patna
5       Chhattisgrah    Raipur

En el comando anterior, tres archivos se fusionan mediante el comando de pegado.

Opciones:

1. -d (delimitador): el comando Pegar usa el delimitador de tabulación de forma predeterminada para fusionar los archivos. El delimitador se puede cambiar a cualquier otro carácter usando la opción -d . Si se especifica más de un carácter como delimitador, pegar lo utiliza de forma circular para cada separación de línea de archivo.

Only one character is specified
$paste -d "|" number state capital
1|Arunachal Pradesh|Itanagar
2|Assam|Dispur
3|Andhra Pradesh|Hyderabad
4|Bihar|Patna
5|Chhattisgrah|Raipur

More than one character is specified
$paste -d "|," number state capital
1|Arunachal Pradesh,Itanagar
2|Assam,Dispur
3|Andhra Pradesh,Hyderabad
4|Bihar,Patna
5|Chhattisgrah,Raipur

First and second file is separated by '|' and second and third is separated by ','.
After that list is exhausted and reused.

2. -s (serial): Podemos fusionar los archivos de manera secuencial usando la opción -s. Lee todas las líneas de un solo archivo y fusiona todas estas líneas en una sola línea con cada línea separada por tabulación. Y estas líneas individuales están separadas por nueva línea.

$paste -s number state capital
1       2       3       4       5
Arunachal Pradesh       Assam   Andhra Pradesh  Bihar   Chhattisgrah
Itanagar        Dispur  Hyderabad       Patna   Raipur

En el comando anterior, primero lee los datos del archivo numérico y los fusiona en una sola línea con cada línea separada por tabulación. Después de que se introduzca el carácter de nueva línea y se lea desde el archivo siguiente, es decir , se inicia el estado y el proceso se repite de nuevo hasta que se leen todos los archivos.

Combinación de -d y -s: el siguiente ejemplo muestra cómo especificar un delimitador para la combinación secuencial de archivos:

$paste -s -d ":" number state capital
1:2:3:4:5
Arunachal Pradesh:Assam:Andhra Pradesh:Bihar:Chhattisgrah
Itanagar:Dispur:Hyderabad:Patna:Raipur

3. –version: esta opción se utiliza para mostrar la versión de paste que se está ejecutando actualmente en su sistema.

$paste --version
paste (GNU coreutils) 8.26
Packaged by Cygwin (8.26-2)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David M. Ihnat and David MacKenzie.

Aplicaciones del comando Pegar

1. Combinar N líneas consecutivas: el comando pegar también se puede usar para combinar N líneas consecutivas de un archivo en una sola línea. Aquí se puede especificar N especificando el número de guiones (-) después de pegar.

With 2 hyphens
$cat capital | paste - -
Itanagar        Dispur
Hyderabad       Patna
Raipur

With 3 hyphens
$paste - - - < capital
Itanagar        Dispur  Hyderabad
Patna   Raipur

2. Combinación con otros comandos: aunque pegar requiere al menos dos archivos para concatenar líneas, los datos de un archivo se pueden proporcionar desde el shell. Como en nuestro ejemplo a continuación, el comando de corte se usa con la opción -f para cortar el primer campo del archivo de estado y la salida se canaliza con el comando de pegado que tiene un nombre de archivo y en lugar del segundo nombre de archivo se especifica un guión.

Nota: si no se especifica un guión, la entrada del shell no se pega.

Without hypen
$cut -d " " -f 1 state | paste number
1
2
3
4
5

With hypen
$cut -d " " -f 1 state | paste number -
1       Arunachal
2       Assam
3       Andhra
4       Bihar
5       Chhattisgrah

El orden de pegado se puede cambiar alterando la ubicación del guión:

$cut -d " " -f 1 state | paste - number
Arunachal       1
Assam   2
Andhra  3
Bihar   4
Chhattisgrah    5

Este artículo es una contribución de Akash Gupta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por AKASH GUPTA 6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *