Преди да започнете, създайте два файла с помощта на който и да е текстов редактор (nano се използва в този урок) със същото съдържание:
# nano diffsample1
Вътрешна паста:
LinuxHint публикува най-доброто съдържание за вас
Натиснете CTRL+х и Y за запазване и излизане.
Създайте втори файл, наречен diffsample2 със същото съдържание:
# nano diffsample2
Забележка: обърнете внимание на интервалите и разделите, файловете трябва да са равни на 100%.
Натиснете CTRL+х и Y за запазване и излизане.
# diff diffsample1 diffsample2
Както можете да видите, няма изход, няма нужда да правите нещо, за да направите файловете равни, защото те вече са равни.
Сега нека редактираме файла diffsample2, за да направим известна промяна:
# nano diffsample2Тогава нека заменим думата „съдържание“ за „съвети“:
Натиснете CTRL+х и Y за да запазите и излезете.
Сега изпълнете:
# diff diffsample1 diffsample2Нека видим резултата:
Резултатът по-горе „3c3“ означава „Ред 3 от първия файл на трябва да бъде заменен за ред 3 от втория файл“. Приветливата част от изхода е, че ни показва какъв текст трябва да се промени („съдържание за вас" за "съвети за вас”)
Това ни показва, че препратката към командата diff не е първият файл, а вторият, затова първият файл на третия ред (първите 3) трябва да бъде променен (C) като трети ред на втория файл (втори 3).
Командата diff може да покаже 3 знака:
° С: този герой инструктира a Промяна трябва да се свърши.
а: този герой инструктира нещо трябва да бъде Добавено.
д: този герой инструктира нещо трябва да бъде Изтрито.
Първите числа преди символите принадлежат към първия файл, докато номерата след символите принадлежат към втория файл.
Символът < belongs to the first file and the symbol > към втория файл, който се използва като справка.
Нека обърнем реда на файловете, вместо да стартираме
# diff diffsample1 diffsample2тичам:
# diff diffsample2 diffsample1Можете да видите как е обърната поръчката и сега файлът diffsample1 се използва като справка и ни инструктира да променим „съвети за вас“ на „съдържание за вас“, това беше предишният изход:
Сега нека редактираме файла diffsample1 по следния начин:
Премахнете всички редове, с изключение на първия ред във файла diffsample1. След това изпълнете:
# diff diffsample2 diffsample1
Както можете да видите, тъй като използвахме файла diffsample1 като референтен, за да направим файла diffsample2 точно равен, трябва да изтрием (д) редове две и три (2,3) като в първия файл и първите редове (1) ще бъде равно.
Сега позволява да обърнем реда и вместо да стартираме# diff diffsample2 diffsample1 ” тичам:
# diff diffsample1 diffsample2
Както можете да видите, докато предишният пример ни инструктира да премахнем, този ни дава да добавим (а) редове 2 и 3 след първия ред на първия файл (1).
Сега нека да работим върху чувствителността на регистрите към тази програма.
Редактирайте файла diffsample2 като:
И редактирайте файла diffsample1 като:
Единствената разлика са главните букви във файла diffsample2. Сега нека го сравним, като използваме разликата отново:
# diff diffsample1 diffsample2
Както можете да видите разликите в различните главни букви, ние избягваме различаването при откриване на главни букви, ако не се интересуваме от регистъра на буквите, като добавим -i опция:
# diff -i diffsample1 diffsample2
Не бяха открити разлики, откриването на случая беше деактивирано.
Сега нека променим изходния формат, като добавим опцията -u използвани за отпечатване на унифицирани изходи:
Освен това към датата и часа изходът се показва с a - и + символ какво трябва да се премахне и какво да се добави, за да се направят файловете равни.
В началото на тази статия казах, че интервалите и разделите трябва да са равни и в двата файла, тъй като те също се откриват от командата diff, ако искаме командата diff да игнорира интервалите и разделите, трябва да приложим -w опция.
Отворете файла diffsample2 и добавете интервали и раздели:
Както виждате, добавих няколко раздела след „най-добрият“ във втория ред, а също и интервали във всички редове, затворете, запишете файла и стартирайте:
# diff diffsample1 diffsample2
Както можете да видите, бяха открити разлики в допълнение към големите букви. Сега нека приложим опцията -w да инструктира diff да игнорира празни пространства:
Както виждате, въпреки табличното разграничение се намира само като разлика главни букви.
Сега нека добавим опцията -i отново:
Командата diff има десетки налични опции, които да приложите за игнориране, промяна на изхода, дискриминация на колони, когато присъстват и т.н. Можете да получите допълнителна информация за тези опции, като използвате командата man или на http: // man7.org / linux / man-pages / man1 / разл.1.html. Надявам се, че тази статия с примери за команди diff в Linux е полезна. Продължавайте да следвате LinuxHint за още съвети и актуализации за Linux и мрежи.