Comm: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ianezz (discussione | contributi)
m template "Titolo minuscolo"
 
(33 versioni intermedie di 21 utenti non mostrate)
Riga 1:
{{Titolo minuscolo}}
'''comm''' (abbreviazione dall'dalla [[lingua inglese]] di '''''comm'''on'', ''in comune'') è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]]<ref>{{cita web
|url=https://www.opengroup.org/onlinepubs/000095399/utilities/comm.html
|titolo=comm
|accesso=5 giugno 2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}</ref>, che legge due [[file di testo]] le cui linee sono ordinate e mostra sullo ''[[standard output]]'' le linee in comune e le linee presenti solo in uno dei due file. È un tipo di [[Filtro (Unix)|filtro]].
 
Per ordinare i file da usare con ''comm'' si può usare il comando [[Sort (Unix)|sort]].
 
In generale, per trovare le differenze tra due file di testo si può usare il comando [[Diff (Unix)|diff]].
 
== UsoSintassi ==
La sintassi generale di ''comm'' è la seguente:
comm [''opzioni''] [--] ''file1'' ''file2''
 
I parametri ''file'' indicano i nomi dei file da esaminare, che devono essere già ordinati. Uno dei due parametri può anche essere un trattino ("<ttkbd>-</ttkbd>"), indicando in quel caso che vanno letti i dati dallo ''[[standard input]]''.
 
Il doppio trattino <kbd>--</kbd> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
Il comportamento predefinito prevede di un formato di [[output]] su tre colonne, che rispettivamente contengono:
 
Il comportamento predefinito prevede di un formato di [[input/output|output]] su tre colonne, che rispettivamente contengono:
# le linee presenti solo nel primo file;
# le linee presenti solo nel secondo file.
Line 18 ⟶ 26:
 
Tra le opzioni vi sono:
* ;<ttkbd>-1</ttkbd>: Non visualizza la colonna con le linee presenti solo nel primo file.
* ;<ttkbd>-2</ttkbd>: Non visualizza la colonna con le linee presenti solo nel secondo file.
* ;<ttkbd>-3</ttkbd>: Non visualizza la colonna con le linee comuni a entrambi i file.
 
== Esempi ==
Partendo due [[file di testo]] contenenti le seguenti linee (ordinate):
{{MultiColColonne}}
<ttkbd>file1.txt</ttkbd>:
arancio
banana
carota
{{ColBreakColonne spezza}}
<ttkbd>file2.txt</ttkbd>:
arancio
banana
banana
zucchine
{{EndMultiColColonne fine}}
 
Mostra le linee presenti in solo uno dei due file e quelle presenti in entrambi (notare che <ttkbd>banana</ttkbd> è riportata sia come presente in entrambi i file che come presente solo nel secondo file, perché è ripetuta più volte nel secondo file):
$ '''comm file1.txt file2.txt'''
arancio
Line 44 ⟶ 52:
carota
zucchine
 
 
Mostra solo le linee presenti in entrambi i file:
$ '''comm -12 file1.txt file2.txt'''
arancio
banana
 
 
Mostra le linee presenti solo nel primo file:
$ '''comm -23 file1.txt file2.txt'''
carota
 
Mostra le linee presenti solo nel secondo file (<ttkbd>banana</ttkbd> viene indicato perché si riferisce alla seconda ripetizione, che non è presente nel primo file):
$ '''comm -13 file1.txt file2.txt'''
banana
zucchine
 
== Note ==
Mostra le linee presenti solo nel secondo file (<tt>banana</tt> viene indicato perché si riferisce alla seconda ripetizione, che non è presente nel primo file):
<references />
$ '''comm -13 file1.txt file2.txt'''
banana
zucchine
 
== Voci correlate ==
* [[Filtro (Unix)]]
* [[Cmpcmp (Unix)]]
* [[Diff (Unix)diff]]
 
== Collegamenti esterni ==
* {{cita web
|url=httphttps://www.opengroupgnu.org/onlinepubssoftware/000095399coreutils/utilitiesmanual/html_node/comm-invocation.html#comm-invocation
|titolo=comm
|accesso=05-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/comm-invocation.html#comm-invocation
|titolo=comm: Compare two sorted files line by line
|accesso=05-06-5 giugno 2008
|opera=GNU Coreutils manual
|lingua=en
}}
 
{{Comandi Unix}}
{{Portale|informatica}}
 
[[Categoria:SoftwareComandi Unix]]
[[Categoria:Software LinuxCoreutils]]
 
[[en:Comm]]
[[ru:Comm]]