Linux команди

diff Примери за команди в Linux

diff Примери за команди в Linux
Командата diff е анализ или информативна команда, която отпечатва разлики между файлове, анализирайки ги ред по ред или директории рекурсивно, като същевременно информира потребителя какви промени са необходими, за да направят файловете равни, тази точка е важна за разбирането на резултатите от diff. Този урок се фокусира върху командата diff.

Преди да започнете, създайте два файла с помощта на който и да е текстов редактор (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 -wi diffsample2 diffsample1

Командата diff има десетки налични опции, които да приложите за игнориране, промяна на изхода, дискриминация на колони, когато присъстват и т.н. Можете да получите допълнителна информация за тези опции, като използвате командата man или на http: // man7.org / linux / man-pages / man1 / разл.1.html. Надявам се, че тази статия с примери за команди diff в Linux е полезна. Продължавайте да следвате LinuxHint за още съвети и актуализации за Linux и мрежи.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...