Овој водич ќе ви покаже како да го користите Линукс за споредба на две датотеки и излез на нивната разлика на екранот или во датотека.
Нема потреба да инсталирате посебен софтвер за да ги споредувате датотеките со помош на Linux, но треба да знаете како да отворите терминален прозорец .
Како што е наведено водич покажува дека постојат многу начини да се отвори терминален прозорец користејќи Linux. Наједноставниот е да ги притискате копчињата CTRL, ALT и T истовремено.
Креирање на датотеки за споредба
Со цел да се следи заедно со овој водич создадете датотека наречена "file1" и внесете го следниов текст:
10 зелени шишиња стоеја на ѕид
10 зелени шишиња стоеја на ѕид
Ако едно зелено шише треба случајно да падне
На ѕидот ќе има 9 зелени шишиња
Можете да креирате датотека со следење на овие инструкции:
- Отворете ја датотеката со внесување на следнава команда: nano file1
- Внесете го текстот во нано уредувачот
- Притиснете CTRL и O за да ја зачувате датотеката
- Притиснете CTRL и X за да излезете од датотеката
Сега креирајте друга датотека наречена "file2" и внесете го следниов текст:
10 зелени шишиња стоеја на ѕид
Ако 1 зелено шише треба случајно да падне
На ѕидот ќе има 9 зелени шишиња
Можете да креирате датотека со следење на овие инструкции:
- Отворете ја датотеката со внесување на следнава команда: nano file2
- Внесете го текстот во нано уредувачот
- Притиснете CTRL и O за да ја зачувате датотеката
- Притиснете CTRL и X за да излезете од датотеката
Како да се споредат два датотеки со користење на Linux
Командата што се користи во рамките на Linux за да ги прикаже разликите помеѓу 2 датотеки се нарекува команда diff.
Наједноставната форма на командата diff е како што следува:
diff file1 file2
Ако датотеките се исти, сепак нема да има излез при користење на оваа команда, бидејќи постојат разлики ќе видите излез сличен на следново:
2,4с2,3
<10 зелени шишиња стојат на ѕидот
<Ако едно зелено шише треба случајно да падне
<На ѕидот ќе стои 9 зелени шишиња
...
> Ако 1 зелено шише треба случајно да падне
> На ѕидот ќе има 9 зелени шишиња
Првично, излезот може да изгледа збунувачки, но откако ќе ја разберете терминологијата, тоа е прилично логично.
Користејќи ги сопствените очи, можете да видите дека разликите меѓу 2 датотеки се како што следува:
- Втората датотека има само три линии, додека првата датотека има 4.
- Втората датотека вели "1 зелено шише" на третата линија, додека првата датотека вели "едно зелено шише"
- Втората датотека вели дека "имаше", наместо "да има" на последната линија
Излезот од командата diff покажува дека помеѓу линиите 2 и 4 од првата датотека и линиите 2 и 3 од втората датотека постојат разлики.
Потоа ги наведува линиите од 2 до 4 од првата датотека проследена со 2 различни линии во втората датотека.
Како само да се покаже дали датотеките се различни
Ако само сакате да знаете дали датотеките се различни и дека не сте заинтересирани за тоа кои линии се различни, можете да ја извршите следната команда:
diff -q file1 file2
Доколку датотеките се различни, ќе се прикажат следниве:
Датотеките file1 и file2 се разликуваат
Ако датотеките се исти, ништо не се прикажува.
Како да покажете порака Ако датотеките се исти
Кога извршувате команда сакате да знаете дека работи правилно, така што сакате да се прикаже порака кога ќе ја извршите командата diff, без оглед на тоа дали датотеките се исти или различни
За да го постигнете ова барање користејќи ја командата diff, можете да ја користите следнава команда :.
diff -s file1 file2
Сега, ако датотеките се исти, ќе ја добиете следната порака:
Датотеките file1 и file2 се идентични
Како да се создадат разликите рамо до рамо
Ако има многу разлики, тогаш многу брзо може да стане збунувачко за тоа кои разлики всушност се меѓу двата датотеки.
Можете да го промените излезот на командата diff, така што резултатите се прикажани рамо до рамо. За да го направите ова, извршете ја следнава команда:
diff -y file1 file2
Излезот за датотеката го користи | симбол за да покаже разлика помеѓу двете линии, <за да покаже линија која е отстранета и> за да прикаже линија која е приложена.
Интересно е, ако ја извршите командата користејќи ги нашите демонстрациски датотеки, тогаш сите линии ќе се прикажат како различни, освен последната линија од датотека 2, која ќе се прикаже како да е избришана.
Ограничување на Ширина на Колоната
Кога се споредуваат две датотеки рамо до рамо, може да биде тешко да се прочита дали датотеките имаат многу колони текст.
За да ограничите голем број на колони, користете ја следнава команда:
diff --width = 5 file file2
Како да ги игнорираме разликите во случаите кога ги споредуваме датотеките
Ако сакате да споредите две датотеки, но не ви е важно дали случајот со буквите е ист помеѓу двете датотеки, тогаш можете да ја користите следнава команда:
diff -i file1 file2
Како да го игнорираме задниот бел простор на крајот од линијата
Ако при споредувањето на датотеките забележувате големи разлики и разликите се предизвикани од бел простор на крајот од редовите, може да ги испуштите овие како прикажувајќи како промени со извршување на следнава команда:
diff -Z file1 file2
Како да ги игнорираме сите бели димензии помеѓу две датотеки
Ако само сте заинтересирани за текстот во датотека и не ми е гајле дали има повеќе празни места во една од друга, можете да ја користите следнава команда:
diff -w file1 file2
Како да ги игнорираме празни линии кога се споредуваат две датотеки
Ако не ми е грижа дека една датотека може да има дополнителни празни линии во него, тогаш можете да ги споредувате датотеките користејќи ја следнава команда:
diff -B file1 file2
Резиме
Можете да најдете повеќе информации со читање на прирачникот за командата diff.
човек различно
Командата diff може да се користи во наједноставната форма за да ви ги покаже разликите помеѓу 2 датотеки, но исто така можете да ја користите за да креирате датотека со разлики како дел од стратегијата за амандман, како што е прикажано во ова упатство за командата на Linux patch .
Друга команда што можете да ја користите за споредување на датотеки е командата cmp како што е прикажано во ова упатство . Ова го споредува датотечниот бајт со бајт.