
paste
è un comando che ti permette di unire righe di file orizzontalmente. Emette righe costituite dalle righe corrispondenti in sequenza di ciascun file specificato come argomento, separate da tabulazioni.
In questo tutorial spiegheremo come usare paste
comando.
Come utilizzare paste
Comando #
paste
è una delle utilità della riga di comando Linux e Unix meno conosciute e utilizzate.
La sintassi generale per paste
il comando è il seguente:
paste [OPTION].. [FILE]...
Se non vengono forniti file di input o quando -
è dato come argomento, paste
utilizza l'input standard.
Supponiamo di avere i seguenti file:
file1Iron Man
Thor
Captain America
Hulk
Spider Man
file2Black Widow
Captain Marvel
Dark Phoenix
Nebula
Quando viene invocato senza un'opzione paste
leggerà tutti i file dati come argomenti e unirà orizzontalmente le righe corrispondenti dei file, separate da uno spazio:
paste file1 file2
Iron Man Black Widow
Thor Captain Marvel
Captain America Dark Phoenix
Hulk Nebula
Spider Man
Invece di visualizzare l'output sullo schermo, puoi reindirizzarlo a un file utilizzando il >
, >>
operatori:
paste file1 file2 > file3
Se il file non esiste, verrà creato. Il >
l'operatore sovrascriverà un file esistente, mentre il >>
l'operatore aggiungerà l'output al file.
Il -d
, -delimiters
l'opzione consente di specificare un elenco di caratteri da utilizzare come delimitatori al posto del TAB
predefinito separatore.
Ogni delimitatore viene utilizzato consecutivamente. Quando l'elenco è esaurito, paste
ricomincia dal primo carattere delimitatore.
Per utilizzare il _
carattere (sottolineatura) come delimitatore invece di TAB
, dovresti digitare:
paste -d '_' file1 file2
Iron Man_Black Widow
Thor_Captain Marvel
Captain America_Dark Phoenix
Hulk_Nebula
Spider Man_
Ecco un esempio di utilizzo di due delimitatori:
paste -d '%|' file1 file2 file1
Le righe del primo e del secondo file sono separate con il primo carattere dall'elenco dei delimitatori. La seconda e la terza riga del file sono separate dal secondo delimitatore.
Se sono stati forniti più file, paste
ricomincia dall'inizio della lista.
Iron Man%Black Widow|Iron Man
Thor%Captain Marvel|Thor
Captain America%Dark Phoenix|Captain America
Hulk%Nebula|Hulk
Spider Man%|Spider Man
Il -s
, --serial
l'opzione dice paste
per visualizzare le righe di un file alla volta invece di una riga di ciascun file.
paste -s file1 file2
Il comando unirà tutte le righe del file specificato in righe separate:
Iron Man Thor Captain America Hulk Spider Man
Black Widow Captain Marvel Dark Phoenix Nebula
Se utilizzato con -z
, --zero-terminated
opzione, paste
usa un carattere nullo per delimitare gli elementi invece del carattere di nuova riga predefinito. Questo comportamento è utile quando paste
è usato in combinazione con find -print0
e xargs -0
comandi per gestire nomi di file contenenti caratteri speciali.
Conclusione #
Il paste
il comando viene utilizzato per unire le righe corrispondenti di determinati file.
Se hai domande o feedback, sentiti libero di lasciare un commento.