paste es una utilidad de línea de comandos de Unix que se utiliza para unir archivos horizontalmente (fusión paralela) generando líneas que consisten en las líneas secuenciales correspondientes de cada archivo especificado, separadas por pestañas, a la salida estándar . Es efectivamente el equivalente horizontal al comando utility cat que opera en el plano vertical de dos o más archivos.
Sistema operativo | Unix y similar a Unix |
---|---|
Plataforma | Multiplataforma |
Tipo | Mando |
Licencia | coreutils : GPLv3 + |
Historia
La versión de coreutilspaste
incluida en GNU fue escrita por David M. Ihnat y David MacKenzie. [1]
Uso
La utilidad de pegar se invoca con la siguiente sintaxis:
pegar [ opciones ] [ archivo1 ..]
Descripción
Una vez invocado, pegar leerá todos susargumentos de archivo . Para cada línea correspondiente, paste agregará el contenido de cada archivo en esa línea a su salida junto con una pestaña. Cuando haya completado su operación para el último archivo, pegar generará un carácter de nueva línea y pasará a la siguiente línea.
pegar sale después de que todas las secuencias regresen al final del archivo. El número de líneas en el flujo de salida será igual al número de líneas en el archivo de entrada con el mayor número de líneas. Los valores que faltan están representados por cadenas vacías.
Aunque potencialmente útil, una opción para que pegar emita una cadena alternativa para un campo faltante (como "NA") no es estándar.
Una secuencia de registros vacíos en la parte inferior de una columna del flujo de salida puede o no haber estado presente en el archivo de entrada correspondiente a esa columna como registros vacíos explícitos, a menos que sepa que el archivo de entrada proporcionó todas las filas explícitamente (por ejemplo, en el archivo canónico caso en el que todos los archivos de entrada tienen el mismo número de líneas).
Opciones
La La utilidad paste acepta las siguientes opciones:
-d delimiters
, que especifica una lista de delimitadores que se utilizarán en lugar de pestañas para separar valores consecutivos en una sola línea. Cada delimitador se utiliza a su vez; cuando la lista se haya agotado, pegar comienza de nuevo en el primer delimitador.
-s
, cuales causas pegar para agregar los datos en serie en lugar de en paralelo; es decir, de forma horizontal en lugar de vertical.
Ejemplos de
Para los siguientes ejemplos, suponga que names.txt es un archivo de texto sin formato que contiene la siguiente información:
Mark SmithBobby BrownSue MillerJenny Igotit
y eso numbers.txt es otro archivo de texto sin formato que contiene la siguiente información:
555-1234555-9876555-6743867-5309
El siguiente ejemplo muestra la invocación de pegar con names.txt y numeros.txt así como la salida resultante:
$ pegar nombres.txt números.txt Mark Smith 555-1234 Bobby Brown 555-9876 Sue Miller 555-6743 Jenny Igotit 867-5309
Cuando se invoca con la -s
opción, la salida de la pasta se ajusta de modo que la información se presente de forma horizontal:
$ paste -s names.txt numbers.txt Mark Smith Bobby Brown Sue Miller Jenny Igotit 555-1234 555-9876 555-6734 867-5309
Finalmente, el uso de la -d
opción ( delimitadores ) se ilustra en el siguiente ejemplo:
$ paste -d., names.txt numbers.txt Mark Smith.555-1234 Bobby Brown.555-9876 Sue Miller.555-6743 Jenny Igotit.867-5309
Como ejemplo de uso de ambos, el El comando pegar se puede usar para concatenar varias líneas consecutivas en una sola fila:
$ paste -s -d '\ t \ n' names.txt Mark Smith Bobby Brown Sue Miller Jenny Igotit
Ver también
Referencias
enlaces externos
- "PASTE (1) - Manual de comandos generales de FreeBSD" . Consultado el 12 de agosto de 2010 .