English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comando diff di Linux

大全命令Linux

Il comando diff di Linux viene utilizzato per confrontare le differenze tra i file.

diff in modo lineare confronta le differenze tra i file di testo. Se si specifica di confrontare le directory, diff confronta i file con lo stesso nome nelle directory, ma non confronta le sottodirectory.

Sintassi

diff [-abBcdefHilnNpPqrstTuvwy][-<numero righe>][-C <numero righe>][-D <nome macro>][-I <carattere o stringa>][-S <file>][-W <larghezza>][-x <file o directory>][-X <file>][--help][--left-column][--suppress-common-line][file o directory1][file o directory2]

Parametri:

  • -<numero righe> Specifica quante righe di testo visualizzare. Questo parametro deve essere utilizzato insieme a -c o -u.

  • -a o --text Diff predefinito confronta solo le righe dei file di testo.

  • -b o --ignore-space-change Non verifica le differenze nei caratteri di spazio.

    • -B o --ignore-blank-lines Non verifica le righe vuote.

    • -c Visualizza tutto il contenuto e indica le differenze.

    • -C<numero righe> o --context<numero righe> È uguale a eseguire l'istruzione "-c-<numero righe>".

    • -d o --minimal Utilizza algoritmi diversi per fare la comparazione in unità più piccole.

    • -D<nome macro> o ifdef<nome macro> Il formato dell'output di questo parametro può essere utilizzato per le macro del preprocessore.

    • -e o --ed Il formato dell'output di questo parametro può essere utilizzato per uno script del file ed.

    • -f o --forward-ed Il formato dell'output è simile a uno script del file ed, ma mostra le differenze in base all'ordine del file originale.

    • -H o --speed-large-files Aumenta la velocità quando si confrontano file grandi.

    • -l<carattere o stringa> o --ignore-matching-lines<carattere o stringa> Non visualizza le differenze tra due file se alcune righe contengono il carattere o la stringa specificati nell'opzione.

    • -i o --ignore-case Non verifica le differenze di maiuscole e minuscole.

    • -l o --paginate Passa i risultati al programma pr per la paginazione.

    • -n o --rcs Visualizza i risultati della comparazione nel formato RCS.

    • -N o --new-file Durante la comparazione dei directory, se il file A appare solo in un directory, viene visualizzato di default:

    • Solo nel directory: Se il file A viene utilizzato con il parametro -N, diff confronta il file A con un file vuoto.

    • -p Se il file da confrontare è un file di codice C, viene visualizzato il nome della funzione in cui si trova la differenza.

    • -P o --unidirectional-new-file Condiviso con -N, ma viene eseguita la comparazione del file con uno vuoto solo se il secondo directory contiene un file che il primo directory non ha.

    • -q o --brief  Mostra solo se ci sono differenze, senza mostrare informazioni dettagliate.

    • -r o --recursive  Confronta i file nelle sottodirectory.

    • -s o --report-identical-files  Se non si trovano differenze, viene comunque mostrata l'informazione.

    • -S<file> o --starting-file<file>  Quando si confrontano le directory, inizia a confrontare dal file specificato.

    • -t o --expand-tabs  Espande i tabulatori durante l'output.

    • -T o --initial-tab  Aggiungi un tabulatore all'inizio di ogni riga per allineamento.

    • -u,-U<numero> o --unified=<numero>  Mostra le differenze tra i contenuti dei file in modo combinato.

    • -v o --version  Mostra le informazioni sulla versione.

    • -w o --ignore-all-space  Ignora tutti i caratteri di spazio.

    • -W<larghezza> o --width<larghezza>  Quando si utilizza il parametro -y, specifica la larghezza della colonna.

    • -x<nomefile o directory> o --exclude<nomefile o directory>  Non confrontare i file o le directory specificati.

    • -X<file> o --exclude-from<file>  Puoi salvare i file o le directory di tipo testo in un file di testo, quindi specificare questo file di testo in <file>.

    • -y o --side-by-side  Mostra le differenze tra i file in modo parallelo.

    • --help  Mostra l'aiuto.

    • --left-column  Quando si utilizza il parametro -y, se una riga dei due file è la stessa, viene mostrata solo nella colonna di sinistra.

    • --suppress-common-lines  Quando si utilizza il parametro -y, viene mostrato solo ciò che è diverso.

    Esempio 1: Confronta due file

    [root@localhost test3]# diff log2014.log log2013.log 
    3c3
    < 2014-03
    ---
    > 2013-03
    8c8
    < 2013-07
    ---
    > 2013-08
    11,12d10
    < 2013-11
    < 2013-12

    I "3c3" e "8c8" rappresentano che i file log2014.log e log2014.log sono diversi nei contenuti delle righe 3 e 8; "11,12d10" significa che il primo file ha in più le righe 11 e 12.

    Esempio 2: Output in formato parallelo

    [root@localhost test3]# diff log2014.log log2013.log -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2014-03 | 2013-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-07               | 2013-08
    2013-09                 2013-09
    2013-10                 2013-10
    2013-11               <
    2013-12               <
    [root@localhost test3]# diff log2013.log log2014.log  -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2013-03               | 2014-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-08               | 2013-07
    2013-09                 2013-09
    2013-10                 2013-10
                          > 2013-11
                          > 2013-12

    说明:

    • "|" indica che i contenuti dei due file precedenti e successivi sono diversi

    • "<" indica che il file successivo rispetto a quello precedente ha una sottrazione di 1 riga di contenuto

    • ">" indica che il file successivo rispetto a quello precedente ha un'aggiunta di 1 riga di contenuto

    大全命令Linux