GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza negli spazi bianchi tra due file su Linux

Su FreeBSD o sulla maggior parte dei sistemi Linux, puoi reindirizzare l'output di diff attraverso cat -v -e -t per mostrare le differenze degli spazi bianchi.

diff file1 file2 | cat -vet

Le schede verranno mostrate come ^I , un $ verrà mostrato alla fine di ogni riga in modo da poter vedere gli spazi bianchi finali e i caratteri non stampabili verranno visualizzati come ^X o M-X .

Se hai GNU coreutils (disponibile sulla maggior parte delle distribuzioni Linux non-busybox), questo può essere semplificato in

diff file1 file2 | cat -A

Sui sistemi busybox, usa catv -vet .


Per vim utenti, c'è una pratica utilità per mostrare le differenze esatte tra i file:

vimdiff file1 file2

Questo metterà ogni file in finestre, fianco a fianco, e le differenze saranno evidenziate a colori.

Alcuni comandi utili in vimdiff

Mentre in vimdiff , alcuni comandi utili sono:

  • ]c :passa alla modifica successiva

  • [c :passa alla modifica precedente

  • ctrl-W ctrl-W :passa ad un'altra finestra

  • zo :pieghe aperte

  • zc :chiudere le pieghe

Esempio

Ecco un esempio di vimdiff in un xterm confrontando due versioni di un cups file di configurazione:

Puoi vedere che lunghe sezioni di linee identiche sono state collassate. Possono essere riaperti con zo .

La combinazione di colori varia a seconda delle impostazioni delle opzioni. Nell'esempio precedente, quando una riga appare in un file ma non nell'altro, a quella riga viene assegnato uno sfondo blu scuro. Nell'altro file, le righe mancanti sono indicate da linee tratteggiate. Quando una linea appare in entrambi i file ma presenta alcune differenze, le parti invariate delle linee hanno uno sfondo rosa e le parti modificate hanno uno sfondo rosso.


Uno dei file è stato modificato su un computer Windows?

La terminazione di linea standard su Windows è CRLF, mentre su Linux è semplicemente LF (e su Mac era CR, ma sospetto che sia cambiato da OS X).

Prova wc -l sui file e vedi quante righe, quindi verifica se la differenza di dimensioni è uguale al numero di righe (l'ultima riga potrebbe non essere terminata in un file).


Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Scopri la differenza tra i comandi "su" e "su -" in Linux

  3. 5 strumenti da riga di comando per trovare rapidamente file in Linux

  4. Linux:come eliminare i file creati tra due volte?

  5. Come ottenere la differenza (solo aggiunte) tra due file in Linux

Condividi file tra desktop Linux con Warpinator

Come commentare le righe nei file di configurazione su Linux

Come confrontare due file nel terminale Linux

Come sincronizzare automaticamente i file tra due server Linux

differenza tra netstat e ss in linux?

Confronto di due file nel terminale Linux