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.