Paste (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ianezz (discussione | contributi)
m ZandDev ha spostato la pagina Paste (informatica) a Paste (Unix): uniformato nome comandi Unix
 
(32 versioni intermedie di 20 utenti non mostrate)
Riga 1:
{{Titolo minuscolo}}
'''paste''' è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]],<ref>{{cita che legge uno più [[file di testo]] (o lo ''[[standard input]]'') e ne unisce le linee corrispondenti, oppure unisce tutte le linee di ciascun file in un'unica linea, mostrando in entrambi i casi il risultato sullo ''[[standard output]]''. È un tipo di [[Filtro (Unix)|filtro]].web
|url=httphttps://www.opengroup.org/onlinepubs/000095399/utilities/paste.html
|titolo=paste
|accesso=14-06- giugno 2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}</ref> e [[GNU]]<ref>{{cita web
|url=httphttps://www.gnu.org/software/coreutils/manual/html_node/paste-invocation.html
|titolo=paste: Merge lines of files
|accesso=14-06- giugno 2008
|opera=GNU Coreutils manual
|lingua=en
}}</ref>, che legge uno o più [[file di testo]] (o lo ''[[standard input]]'') e ne unisce le linee corrispondenti, oppure unisce tutte le linee di ciascun file in un'unica linea, mostrando in entrambi i casi il risultato sullo ''[[standard output]]''. È un tipo di [[Filtro (Unix)|filtro]].
 
== UsoSintassi ==
La sintassi generale di ''paste'' è la seguente:
paste [-d ''separatori''] [-s] [--] [''file1'' [''file2'' ..] ]
 
I parametri falcoltativi ''file'' specificano i nomi dei file di testo di cui unire le linee. Se non specificati, i dati sono letti dallo ''standard input''. Uno o più parametri possono essere dei trattini ("<ttkbd>-</ttkbd>") per indicare di leggere in quel punto una linea dallo ''standard input''.
 
Il doppio trattino <kbd>--</kbd> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
Il comportamento predefinito prevede di unire le linee usando il [[carattere di controllo]] ''tab'' come separatore; in caso di file che contengono un numero diverso tra loro di linee, ''paste'' si comporta come se leggesse linee vuote dai file più corti (tranne quando è in uso l'opzione <tt>-s</tt>).
 
Il comportamento predefinito prevede di unire le linee usando il [[carattere di controllo]] ''tab'' come separatore; in caso di file che contengono un numero diverso tra loro di linee, ''paste'' si comporta come se leggesse linee vuote dai file più corti (tranne quando è in uso l'opzione <ttkbd>-s</ttkbd>).
 
Tra le opzioni principali vi sono:
* ;<ttkbd>-d ''separatori''</ttkbd>: Unisce le linee usando a rotazione i caratteri elencati in ''separatori''. All'inizio di ogni nuova linea di output riprende ad usare il primo carattere separatore dell'elenco.
* ;<ttkbd>-s</ttkbd>: Unisce tra loro tutte le linee dei primo file, poi quelle del secondo, poi quelle del terzo, e così via, producendo una sola linea per ciascun file.
 
== Esempi ==
Dati tre file contenenti le linee che seguono
{{MultiColColonne}}
<ttkbd>file1.txt</ttkbd>:
uno
due
tre
quattro
cinque
{{ColBreakColonne spezza}}
<ttkbd>file2.txt</ttkbd>:
primo
secondo
terzo
{{ColBreakColonne spezza}}
<ttkbd>file3.txt</ttkbd>:
Alice
Bruno
Carlo
Daniela
{{EndMultiColColonne fine}}
 
Unisce le linee corrispondenti di ciascun file, usando il carattere ''tab'' come separatore:
$ '''paste file1.txt file2.txt file3.txt'''
uno primo Alice
due secondo Bruno
tre terzo Carlo
quattro Daniela
cinque
 
Unisce le linee corrispondenti di ciascun file, usando una [[barra verticale]] ("<ttkbd>|</ttkbd>") per separare le linee del primo e del secondo file, ed il carattere [[punto e virgola]] ("<ttkbd>;</ttkbd>") per separare le linee del secondo e del terzo file:
 
Unisce le linee corrispondenti di ciascun file, usando una [[barra verticale]] ("<tt>|</tt>") per separare le linee del primo e del secondo file, ed il carattere [[punto e virgola]] ("<tt>;</tt>") per separare le linee del secondo e del terzo file:
$ '''paste -d "|;" file1.txt file2.txt file3.txt'''
uno|primo;Alice
Line 52 ⟶ 65:
quattro|;Daniela
cinque|;
 
 
Unisce le linee di ciascun file in un'unica linea, usando il carattere ''tab'' come separatore:
Line 60 ⟶ 72:
Alice Bruno Carlo Daniela
 
Unisce le linee di ciascun file in un'unica linea, usando a rotazione una [[barra verticale]] ("<ttkbd>|</ttkbd>") ed il carattere [[punto e virgola]] ("<ttkbd>;</ttkbd>") per separare gli elementi:
 
Unisce le linee di ciascun file in un'unica linea, usando a rotazione una [[barra verticale]] ("<tt>|</tt>") ed il carattere [[punto e virgola]] ("<tt>;</tt>") per separare gli elementi:
$ '''paste -d "|;" -s file1.txt file2.txt file3.txt'''
uno|due;tre|quattro;cinque
primo|secondo;terzo
Alice|Bruno;Carlo|Daniela
 
== Note ==
<references />
 
== Voci correlate ==
* [[Cutcut (Unix)]]
* [[Joinjoin (Unix)]]
 
== Collegamenti esterni ==
* {{cita web
|url=http://www.opengroup.org/onlinepubs/000095399/utilities/paste.html
|titolo=paste
|accesso=14-06-2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}
* {{cita web
|url=http://www.gnu.org/software/coreutils/manual/html_node/paste-invocation.html
|titolo=paste: Merge lines of files
|accesso=14-06-2008
|opera=GNU Coreutils manual
|lingua=en
}}
 
{{Comandi Unix}}
{{Portale|informatica}}
 
[[Categoria:Comandi Unix/Linux]]
[[Categoria:Coreutils]]
 
[[en:Paste (Unix)]]