Comando Linux Diff

Comando Linux Diff



È più probabile che la differenza sia un concetto o un sentimento che può distinguere una cosa da un'altra. Il comando “diff” si riferisce alla variazione. Analizzando i documenti riga per riga, questo strumento mostra le distinzioni tra i file. Ci informa quali sezioni di un documento devono essere modificate per creare documenti simili, a differenza dei suoi elementi complementari cmp e comm. L'aspetto cruciale da tenere a mente è che affinché i documenti siano simili, diff utilizza simboli e comandi speciali specifici. Vengono fornite indicazioni su come modificare il primo documento in modo che sia coerente con l'altro documento. All'interno di questa guida, discuteremo dell'uso del comando 'diff' in Ubuntu 20.04 utilizzando il terminale Linux.

Abbiamo creato due file di testo nella cartella di lavoro del nostro sistema.









È ora di utilizzare l'istruzione 'diff' in un'area di query per visualizzare la differenza tra i contenuti di entrambi i file. Proviamo questa istruzione 'diff' con entrambi i nomi di file in sequenza, ovvero prima un.txt e poi due.txt. L'esecuzione del comando 'diff' ci mostra la differenza tra i due file come:



  • Numeri di riga in base al primo file di testo.
  • Caratteri/simboli speciali per farci sapere la differenza come modificare, aggiungere, eliminare.
  • Numeri di riga in base al secondo file di testo.

Nella nostra prima illustrazione, elaboriamo il simbolo 'a' tra i numeri di riga dell'output del comando 'diff'; “a” è l'abbreviazione di “Aggiungi”. L'uso dell'istruzione 'cat' con entrambi i nomi di file nell'area di query visualizza separatamente il contenuto all'interno di ciascun file di testo, ovvero one.txt e two.txt. Abbiamo un totale di 4 righe all'interno del primo file mentre il secondo file contiene 5 righe. La linea 1 è extra.





Quindi, proviamo l'istruzione 'diff' nell'area di query del terminale seguita dai nomi dei file: one.txt e two.txt. L'esecuzione di questa istruzione mostra '0a1' come output insieme alla riga 1 del secondo file che è una riga aggiuntiva nel secondo file. Il valore numerico “0” viene utilizzato per la riga 0 o prima della riga 1 del primo file, ovvero one.txt. Il simbolo 'a' significa 'aggiungere'. Infine, il valore numerico “1” indica la prima riga del secondo file. L'output del mix '0d1' significa che la riga 1 del secondo file 'two.txt' deve essere aggiunta all'inizio del primo file 'one.txt' prima che la prima riga due renda entrambi i file uguali.



Ora aggiorniamo entrambi i file per vedere un'altra illustrazione. Il primo file 'one.txt' contiene 4 righe e il secondo file 'two.txt' contiene solo 3 righe. L'unica differenza per questi file è l'uso di una riga in più nel primo file, ovvero la riga 1 = 'lunedì' che non è nel secondo file. Dopo aver provato l'istruzione 'diff' per i file di testo aggiornati, otteniamo '1d0' come output. E viene visualizzata la prima riga del primo file. In “1d0”, 1 significa che la prima riga del file “one.txt” deve essere cancellata (come da simbolo “d”), e 0 significa che il secondo file non ha ricevuto alcun aggiornamento. Alla fine, viene visualizzata la riga 1 del primo file 'one.txt' per la chiara differenza.

Allo stesso modo, il comando 'diff' può visualizzare una differenza tra le righe di due file. Pertanto, aggiorniamo nuovamente entrambi i file di testo. Questa volta, il primo file contiene 5 righe mentre il secondo file ne contiene solo 4. L'unica differenza è l'uso di una riga extra in one.txt che è la riga 3. Il comando diff utilizzato su entrambi i file nel terminale mostra un output '3d2' insieme alla riga 3 dal primo file 'one.txt'. Questo output mostra che la riga 3 del primo file 'one.txt' deve essere eliminata in modo da poter sincronizzare entrambi i file alla riga 2 del secondo file. Viene visualizzata la diversa riga '3' in modo da poter avere un'idea chiara della differenza.

Diamo uno sguardo chiaro e più approfondito all'output. L'output 1,5c1,2 dell'immagine seguente mostra che le righe da 1 a 5 di un primo file (one.txt) devono essere modificate con le righe da 1 a 2 di un secondo file (two.txt). Significa che le prime 5 righe (da 1 a 5) del file one.txt devono essere modificate e sostituite con le prime due righe (1, 2) del secondo file “two.txt” per renderlo uguale. Alla fine, vengono visualizzate tutte le 5 righe del primo file che dovrebbero essere sostituite con le 2 righe visualizzate del secondo file. Questo è il modo in cui il simbolo 'c' indica una differenza tra due file: nessuna linea è la stessa in entrambi i file.

Il comando 'diff' ti consente di ottenere il suo output in un modulo di contesto. Immagina di avere gli stessi due file con i seguenti dati in questi file. Il contesto attorno all'output sarebbe quello di visualizzare la differenza principale tra i file semplici totali mostrati nell'immagine seguente. Ora abbiamo 5 righe nel primo file 'one.txt' e 4 righe nel secondo file 'two.txt'.

Per ottenere l'output basato sul contesto dell'istruzione 'diff', è necessario utilizzare l'opzione '-c' all'interno del comando 'diff'. Usando i file precedentemente aggiornati in questo comando 'diff', otteniamo il seguente output: data, giorno, insieme alle informazioni extra relative alla creazione del testo all'interno dei file. Vengono visualizzate le 5 righe dei file one.txt. In particolare, la sua terza riga viene evidenziata utilizzando il carattere '-' per aggiungerla semplicemente a un altro file.

Conclusione

Abbiamo cercato di spiegare brevemente tutto sull'istruzione 'diff'. Per questo, abbiamo aggiornato i nostri file di testo ogni volta e abbiamo ottenuto un output aggiornato per aggiungere, rimuovere e modificare i dati in un file. L'introduzione spiegava lo scopo dell'utilizzo del comando 'diff' in Linux e come utilizzarlo per Linux.