diff

DIFF(1)                             GNU Tools                            DIFF(1)



NOME
       diff - trova differenze tra due file

SINTASSI
       diff [opzioni] file-da file-verso

DESCRIZIONE
       Nel caso più semplice, diff confronta il contenuto dei due file file-da e
       file-verso.  Se - viene usato come nome di file, allora il testo viene
       letto da standard input. Come caso speciale, diff - - confronta una copia
       di standard input con se stessa.

       Se file-da è una directory mentre file-verso non lo è, diff fa il
       confronto col file in file-da con nome file-verso, e vice versa. Il file
       (che non è una directory) non può essere -.

       Se sia file-da che file-verso sono directory, diff confronta i file
       corrispondenti di ciascuna directory, in ordine alfabetico; il confronto
       non è ricorsivo, a meno che venga usata l'opzione -r o --recursive.  diff
       non confronta mai il contenuto di una directory come se fosse un file
       normale. Il file che viene specificato totalmente non può essere standard
       input, non avendo questo un nome, e quindi non avendo senso il concetto
       di «file con lo stesso nome».

       Le opzioni di diff iniziano con -, per cui, normalmente, né file-da file-verso possono iniziare con un -.  D'altra parte, -- come argomento a
       sé stante tratta gli argomenti rimanenti come nomi di file, anche se
       iniziano per -.

   Opzioni
       Più sotto c'è un sommario di tutte le opzioni accettate dalla versione
       GNU di diff.  La maggior parte delle opzioni ha due nomi equivalenti, uno
       dei quali è una lettera singola preceduta da -, mentre l'altro è un nome
       lungo preceduto da --.  Più opzioni monolettera possono essere combinate
       in una singola parola sulla riga di comando (a meno che siano seguite da
       un'opzione): -ac è l'equivalente di -a -c.  Le opzioni lunghe possono
       essere abbreviate ad un prefisso unico del nome. Parentesi quadre ([ e ])
       indicano che un'opzione prende un argomento opzionale.

       -righe mostra righe (un intero) righe di contesto. Questa opzione non
              specifica da sola un formato di output; non ha nessun effetto a
              meno che venga combinata con -c o -u.  Quest'opzione è obsoleta.
              Per operare correttamente, patch ha, di solito, bisogno di almeno
              due righe di contesto.

       -a     Tratta tutti i file come testo confrontandoli riga per riga, anche
              se non sembrano essere testo.

       -b     Ignora differenza nella quantità di spazi bianchi.

       -B     Ignora differenze che consistono solo in righe vuote (eccedenti o
              mancanti).

       --brief
              Riferisce solo se i file sono diversi, e non i particolari della
              differenza.

       -c     Usa il formato «a contesto» (context output, in inglese).

       -C righe
       --context[=righe]
              Usa il formato a contesto, mostrando righe (un intero) righe di
              contesto, o tre se righe non è specificata. Per operare
              correttamente, patch ha, di solito, bisogno di almeno due righe di
              contesto.

       --changed-group-format=formato
              Usa formato per scrivere un gruppo di righe contenente le
              differenze di entrambi i file nel formato if-then-else.

       -d     Usa un algoritmo diverso per trovare un, probabilmente, minore
              insieme di modifiche da fare. Questo rende diff più lento (a volte
              molto più lento).

       -D nome
              Scrive usando il formato if-then-else, dipendente dalla macro nome
              del preprocessore.

       -e
       --ed   Emette uno scritto ed valido.

       --exclude=modello
              Confrontando due directory, ignora file e sottodirectory il cui
              nome corrisponda a modello.

       --exclude-from=file
              Confrontando due directory, ignora file e sottodirectory il cui
              nome corrisponda ad un modello contenuto in file.

       --expand-tabs
              Espande i tabulatori nell'output per preservare l'allineamento di
              tabulazione nel file d'input.

       -f     Produce output che assomiglia più o meno ad uno scritto di ed ma
              con le modifiche nello stesso ordine in cui appaiono nel file.

       -F regexp
              Nel formato a contesto o unificato, mostra, per ciascun blocco di
              differenze, alcune delle righe precedenti corrispondenti a regexp.

       --forward-ed
              Produce output che assomiglia più o meno ad uno scritto di ed ma
              con le modifiche nello stesso ordine in cui appaiono nel file.

       -h     Quest'opzione, al momento, non ha nessun effetto; è presente per
              compatibilità Unix.

       -H     Usa un procedimento euristico per gestire più rapidamente grossi
              file con numerose modifiche, piccole ma diffuse.

       --horizon-lines=righe
              Non elimina le ultime righe righe di prefisso comune né le prime
              righe di suffisso comune.

       -i     Considera allo stesso modo maiuscole e minuscole, ignorando ogni
              relativa differenza.

       -I regexp
              Ignora ogni differenza che consista solo nella presenza o assenza
              di righe corrispondenti a regexp.

       --ifdef=nome
              Produce output nel formato if-then-else, basandosi sulla
              condizione espressa dalla macro nome di preprocessore.

       --ignore-all-space
              Ignora gli spazi  bianchi mentre confronta delle righe.

       --ignore-blank-lines
              Ignora ogni differenza che consista solo nella presenza o assenza
              di righe vuote.

       --ignore-case
              Considera allo stesso modo maiuscole e minuscole, ignorando ogni
              relativa differenza.

       --ignore-matching-lines=regexp
              Ignora ogni differenza che consista solo nella presenza o assenza
              di righe corrispondenti a regexp.

       --ignore-space-change
              Ignora differenza nella quantità di spazi bianchi.

       --initial-tab
              Usa un tabulatore invece di uno spazio davanti al contenuto di una
              riga in formato a contesto o unificato. In questo modo
              l'allineamento dei tabulatori nella riga assume un aspetto
              normale.

       -l     Fa passare l'output attraverso pr per impaginarlo.

       -L etichetta
       --label=etichetta
              Usa etichetta invece del nome del file nelle intestazioni di un
              formato a contesto o unificato.

       --left-column
              Stampa solo quella di sinistra fra due colonne comuni nel formato
              lato a lato.

       --line-format=formato
              Usa formato per scrivere tutte le righe di input nel formato if-
              then-else.

       --minimal
              Usa un algoritmo diverso per trovare un, probabilmente, minore
              insieme di modifiche da fare. Questo rende diff più lento (a volte
              molto più lento).

       -n     Produce differenze in formato RCS; come -f, ma ogni comando
              specifica il numero di righe coinvolte.

       -N
       --new-file
              Confrontando due directory, se un file viene trovato solo in una,
              viene trattato come se esistesse, vuoto, nell'altra.

       --new-group-format=formato
              Usa formato per scrivere un gruppo di righe prese dal solo secondo
              file nel formato if-then-else.

       --new-line-format=formato
              Usa formato per scrivere una riga presa dal solo secondo file nel
              formato if-then-else.

       --old-group-format=formato
              Usa formato per scrivere un gruppo di righe prese dal solo primo
              file nel formato if-then-else.

       --old-line-format=formato
              Usa formato per scrivere una riga presa dal solo primo file nel
              formato if-then-else.

       -p     Mostra in quale funzione C appare ciascuna modifica.

       -P     Confrontando due directory, se un file viene trovato solo in una,
              viene trattato come se esistesse, vuoto, nell'altra.

       --paginate
              Fa passare l'output attraverso pr per impaginarlo.

       -q     Riferisce solo se i file sono diversi, e non i particolari della
              differenza.

       -r     Confrontando due directory, confronta ogni sottodirectory
              ricorsivamente.

       --rcs  Produce differenze in formato RCS; come -f, ma ogni comando
              specifica il numero di righe coinvolte.

       --recursive
              Confrontando due directory, confronta ogni sottodirectory
              ricorsivamente.

       --report-identical-files
       -s     Riferisce quando due file sono identici.

       -S file
              Confrontando due directory, incomincia dal file file.  Ciò viene
              usato per riprendere un confronto interrotto.

       --sdiff-merge-assist
              Stampa informazioni aggiuntive per aiutare sdiff.  sdiff usa
              quest'opzione invocando diff.  L'opzione non dovrebbe essere
              invocata direttamente dall'utente.

       --show-c-function
              Mostra in quale funzione C appare ciascuna modifica.

       --show-function-line=regexp
              Nel formato a contesto o unificato, mostra, per ciascun blocco di
              differenze, alcune delle righe precedenti corrispondenti a regexp.

       --side-by-side
              Usa il formato lato a lato.

       --speed-large-files
              Usa un procedimento euristico per gestire più rapidamente grossi
              file con numerose modifiche, piccole ma diffuse.

       --starting-file=file
              Confrontando due directory, incomincia dal file file.  Ciò viene
              usato per riprendere un confronto interrotto.

       --suppress-common-lines
              Non stampa le righe comuni nel formato lato a lato.

       -t     Espande i tabulatori nell'output per preservare l'allineamento di
              tabulazione nel file d'input.  -T Usa un tabulatore invece di uno
              spazio davanti al contenuto di una riga in formato a contesto o
              unificato. In questo modo l'allineamento dei tabulatori nella riga
              assume un aspetto normale.

       --text Tratta tutti i file come testo confrontandoli riga per riga, anche
              se non sembrano essere testo.

       -u     Usa il formato unificato.

       --unchanged-group-format=formato
              Usa formato per scrivere un gruppo di righe comuni prese da
              entrambi i file, nel formato if-then-else.

       --unchanged-line-format=formato
              Usa formato per scrivere una riga comune presa da entrambi i file,
              nel formato if-then-else.

       --unidirectional-new-file
              Confrontando due directory, se un file viene trovato solo nella
              seconda viene trattato come se esistesse, vuoto, nella prima.

       -U righe
       --unified[=righe]
              Usa il formato unificato, mostrando righe (un intero) righe di
              contesto, oppure tre qualora righe non fosse stata specificata.
              Per operare correttamente, patch ha, di solito, bisogno di almeno
              due righe di contesto.

       -v
       --version
              Stampa il numero di versione di diff.

       -w     Confrontando due righe ignora gli spazi bianchi.

       -W colonne
       --width=colonne
              Usa una larghezza di colonne nel formato lato a lato.

       -x modello
              Confrontando due directory, ignora file e sottodirectory il cui
              nome corrisponda a modello.

       -X file
              Confrontando due directory, ignora file e sottodirectory il cui
              nome corrisponda ad un modello contenuto in file.

       -y     Usa il formato lato a lato.

VEDERE ANCHE
       cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

DIAGNOSTICA
       Uno stato di uscita di zero significa che non è stata trovata nessuna
       differenza, di uno che ne sono state trovate, di due che ci sono
       problemi.



GNU Tools                          22 set 1993                           DIFF(1)