Esta guía mostraralle como usar Linux para comparar dous arquivos e saír a súa diferenza á pantalla ou a un ficheiro.
Non necesita instalar ningún software especial para comparar ficheiros con Linux, pero necesitará saber como abrir unha xanela de terminal .
Como mostra a guía relacionada hai moitas maneiras de abrir unha ventá de terminal usando Linux. O máis simple é premer as teclas CTRL, ALT e T ao mesmo tempo.
Creación de ficheiros para comparar
Para seguir xunto con esta guía, cree un ficheiro chamado "file1" e introduza o seguinte texto:
10 botellas verdes de pé nunha parede
10 botellas verdes de pé nunha parede
Se unha botella verde caería accidentalmente
Habería 9 botellas verdes situadas na parede
Pode crear un ficheiro seguindo estas instrucións:
- Abra o ficheiro escribindo o seguinte comando: nano file1
- Escribe o texto no editor de nano
- Prema CTRL e O para gardar o ficheiro
- Preme CTRL e X para saír do ficheiro
Agora cree outro ficheiro chamado "file2" e escriba o seguinte texto:
10 botellas verdes de pé nunha parede
Se caia de forma accidental unha botella verde
Habería 9 botellas verdes situadas na parede
Pode crear un ficheiro seguindo estas instrucións:
- Abra o ficheiro escribindo o seguinte comando: nano file2
- Escribe o texto no editor de nano
- Prema CTRL e O para gardar o ficheiro
- Preme CTRL e X para saír do ficheiro
Como comparar dous ficheiros usando Linux
O comando usado en Linux para mostrar as diferenzas entre dous arquivos chámase o comando diff.
A forma máis sinxela do comando diff é a seguinte:
ficheiro diff file1
Se os ficheiros son os mesmos, non haberá saída ao usar este comando, con todo, xa que hai diferenzas, verá saída similar á seguinte:
2,4c2,3
<10 botellas verdes de pé na parede
Había 9 botellas verdes situadas na parede ... > Se caia de forma accidental unha botella verde > Habería 9 botellas verdes situadas na parede Inicialmente, a saída pode parecer confusa pero unha vez que comprende a terminoloxía é bastante lóxico. Usando os seus propios ollos pode ver que as diferenzas entre os dous arquivos son as seguintes: A saída do comando diff mostra que entre as liñas 2 e 4 do primeiro ficheiro e as liñas 2 e 3 do segundo ficheiro hai diferenzas. A continuación, enumera as liñas de 2 a 4 do primeiro ficheiro seguido das dúas liñas distintas do segundo ficheiro. Se só desexa saber se os ficheiros son diferentes e non está interesado en que liñas son diferentes pode executar o seguinte comando: ficheiro diff -q file1 Se os ficheiros son diferentes, amosarase o seguinte: Os ficheiros file1 e file2 difiren Se os ficheiros son os mesmos, non se mostrará nada. Cando executar un comando que quere saber que funcionou correctamente, quere que se amose unha mensaxe cando execute o comando diff independentemente de se os ficheiros son iguais ou diferentes Para acadar este requisito usando o comando diff, pode usar o seguinte comando :. ficheiro diff -s file1 Agora, se os ficheiros son os mesmos, recibirá a seguinte mensaxe: Os ficheiros file1 e file2 son idénticos Se hai moitas diferenzas, pode converterse rapidamente en confuso en canto ás diferenzas entre os dous arquivos. Pode cambiar a saída do comando diff para que os resultados se mostren un ao outro lado. Para facelo executar o seguinte comando: diff -y file1 file2 A saída para o ficheiro usa símbolo para mostrar a diferenza entre as dúas liñas, a Curiosamente, se executar o comando usando os nosos ficheiros de demostración, todas as liñas mostraranse como diferentes, excepto para a última liña de arquivo 2 que se mostrará como eliminada. Ao comparar dous ficheiros ao carón, pode ser difícil de ler se os ficheiros teñen moitas columnas de texto. Para restrinxir varias columnas, use o seguinte comando: dif - width = 5 file file2 Se desexa comparar dous ficheiros pero non lle importa se o caso das letras é o mesmo entre os dous ficheiros, entón pode usar o seguinte comando: ficheiro diff -i file1 Se ao comparar os ficheiros notas un gran número de diferenzas e as diferenzas son causadas polo espazo en branco ao final das liñas pode omitir estas como se amosan como cambios executando o seguinte comando: dif -Z file1 file2 Se só estás interesado no texto dun arquivo e non me importa se hai máis espazos nun que outro pode usar o seguinte comando: arquivo diff -w file2 Se non lle importa que un ficheiro poida ter liñas en branco extra nel, entón pode comparar os ficheiros empregando o seguinte comando: dif -B file1 file2 Podes atopar máis información lendo o manual para o comando diff. man dif O comando diff pode usarse na súa forma máis sinxela para mostrar só as diferenzas entre dous ficheiros, pero tamén pode usalo para crear un ficheiro de diferencias como parte dunha estratexia de parche como se mostra nesta guía para o comando de parche de Linux . Outro comando que pode usar para comparar ficheiros é o comando CMP como se mostra nesta guía . Isto compara os ficheiros byte by byte. Como mostrar só se os ficheiros son diferentes
Como amosar unha mensaxe se os ficheiros son iguais
Como producir as diferenzas lado a lado
Restrinxindo os anchos de columna
Como ignorar diferenzas de casos ao comparar ficheiros
Como ignorar o espazo branco rematado ao final dunha liña
Como ignorar todas as diferenzas espaciais brancas entre dous ficheiros
Como ignorar as liñas en branco ao comparar dous ficheiros
Resumo