Як параўнаць два тэкставых файла з дапамогай Linux

Гэта кіраўніцтва пакажа вам, як выкарыстоўваць Linux для параўнання двух файлаў і выснова іх розніца на экран ці ў файл.

Вам не трэба ўсталёўваць спецыяльнае праграмнае забеспячэнне для таго , каб параўнаць файлы , выкарыстоўваючы Linux , але вы павінны ведаць , як адкрыць акно тэрмінала .

Як звязаны кіраўніцтва паказвае, што ёсць шмат спосабаў, каб адкрыць акно тэрмінала з дапамогай Linux. Прасцей за ўсё націснуць клавішы CTRL, ALT і клавішы T адначасова.

Стварэнне файлаў для параўнання

Для таго, каб прытрымлівацца разам з гэтым даведнікам стварыць файл з імем «file1» і ўвядзіце наступны тэкст:

10 зялёных бутэлек, стоячы на ​​сцяне

10 зялёных бутэлек, стоячы на ​​сцяне

Калі адна зялёная бутэлька павінна выпадкова зваліцца

Там будзе 9 зялёных бутэлек, стоячы на ​​сцяне

Вы можаце стварыць файл, выканаўшы наступныя інструкцыі:

  1. Адкрыйце файл, увёўшы наступную каманду: нана file1
  2. Увядзіце тэкст у рэдактары нана
  3. Націсніце CTRL і O, каб захаваць файл
  4. Націсніце CTRL і X, каб выйсці з файла

Цяпер стварыце яшчэ адзін файл з імем «file2» і ўвядзіце наступны тэкст:

10 зялёных бутэлек, стоячы на ​​сцяне

Калі 1 зялёная бутэлька павінна выпадкова зваліцца

Там бы 9 зялёных бутэлек, стоячы на ​​сцяне

Вы можаце стварыць файл, выканаўшы наступныя інструкцыі:

  1. Адкрыйце файл, увёўшы наступную каманду: нана file2
  2. Увядзіце тэкст у рэдактары нана
  3. Націсніце CTRL і O, каб захаваць файл
  4. Націсніце CTRL і X, каб выйсці з файла

Як параўнаць два файла, выкарыстоўваючы Linux

Каманда, якая выкарыстоўваецца ў Linux, каб паказаць адрозненні паміж 2 файлаў называецца дифф каманда.

Найпросты выгляд дыферэнцыяла каманды выглядае наступным чынам:

дифф file1 file2

Калі файлы аднолькавыя, то не будзе ніякага вываду пры выкарыстанні гэтай каманды, аднак, ёсць адрозненні, якія вы ўбачыце вынік, падобны наступнаму:

2,4c2,3

<10 зялёных бутэлек, стоячы на ​​сцяне

<Калі адна зялёная бутэлька павінна выпадкова зваліцца

<Там будзе 9 зялёных бутэлек, стоячы на ​​сцяне

...

> Калі 1 зялёная бутэлька павінна выпадкова зваліцца

> Там бы 9 зялёных бутэлек, стоячы на ​​сцяне

Першапачаткова выхад можа здацца заблытаным, але як толькі вы разумееце тэрміналогію, гэта даволі лагічна.

Выкарыстанне ўласных вачэй вы можаце ўбачыць, што адрозненні паміж 2 файламі наступным чынам:

Выводзіцца з адрозненняў каманды паказвае, што паміж лініямі 2 і 4 першага файлам і лініямі 2 і 3 другога файлам існуе адрозненне.

Затым ён пералічвае лініі ад 2 да 4 з першага файла, за якім варта 2 лінія ў другім файле.

Як раз паказаць, калі файлы Different

Калі вы проста хочаце ведаць, калі файлы розныя, і вы не зацікаўленыя ў тым, якія радкі розныя вы можаце выканаць наступную каманду:

дифф -q file1 file2

Калі файлы адрозніваюцца наступныя будуць адлюстроўвацца:

Файлы file1 і file2 адрозніваюцца

Калі файлы аднолькавыя, то нічога не адлюстроўваецца.

Як паказаць паведамленне, калі файлы аднолькавыя

Пры запуску каманды вы хочаце ведаць, што ён правільна працаваў, так што вы хочаце паведамленне, якое будзе адлюстроўвацца пры выкананні каманды дифф незалежна ад наяўнасці або адсутнасці ў файлы з'яўляюцца аднолькавымі або рознымі

Для таго, каб дасягнуць гэтага патрабавання з дапамогай каманды параўнання, вы можаце выкарыстоўваць наступную каманду:.

дифф -s file1 file2

Цяпер, калі файлы аднолькавыя, вы атрымаеце наступнае паведамленне:

Файлы file1 і file2 ідэнтычныя

Як Вырабляе бок адрозненні па баку

Калі ёсць шмат адрозненняў, то ён можа вельмі хутка стаць заблытаным, як да таго, што розніца на самой справе паміж гэтымі двума файламі.

Вы можаце змяніць выснову каманды дифф так, што вынікі паказаны бок аб бок. Для таго, каб зрабіць гэта выканаць наступную каманду:

дифф -y file1 file2

Выхад для файла выкарыстоўвае | сімвал, каб паказаць розніцу паміж гэтымі двума лініямі, а <, каб паказаць лінію, якая была выдаленая і а>, каб паказаць лінію, якая была прыкладаемай.

Цікава, калі вы запусціце каманду, выкарыстоўваючы нашы дэманстрацыйныя файлы, то ўсе радкі будуць адлюстроўвацца як розны для апошняга радка файла 2, які будзе паказаны як быццам яны былі выдаленыя, за выключэннем.

Абмежаванне шырыні слупкоў

Пры параўнанні двух файлаў бок аб бок можа быць цяжка чытаць, калі файлы маюць шмат слупкоў тэксту.

Каб абмежаваць колькасць слупкоў з дапамогай наступнай каманды:

дифф --width = 5 файл file2

Як игноировать пры параўнанні файлаў

Калі вы хочаце параўнаць два файла, але вы не клапоціцеся Ці тое ж самае паміж двума файламі ў выпадку літар, то вы можаце выкарыстоўваць наступную каманду:

дифф -i file1 file2

Як ігнараваць завяршальныя прабелы ў канцы радка

Калі пры параўнанні файлаў вы заўважылі нагрузкі адрозненні і адрозненні абумоўлены прабеламі ў канцы радка вы можаце апусціць іх як паказ як змены, выканаўшы наступную каманду:

дифф -Z file1 file2

Як ігнараваць усе белыя адрозненні прасторы паміж двума файламі

Калі вы зацікаўлены толькі ў тэксце ў файл, і вы не клапоціцеся, ці ёсць яшчэ месцы ў адным чым іншыя вы можаце выкарыстоўваць наступную каманду:

дифф -w file1 file2

Як ігнараваць пустыя радкі пры параўнанні двух файлаў

Калі вы не клапоціцеся, што адзін файл можа мець дадатковыя пустыя радкі ў ім, то вы можаце параўнаць файлы з дапамогай наступнай каманды:

дифф -B file1 file2

рэзюмэ

Вы можаце знайсці больш падрабязную інфармацыю, прачытаўшы інструкцыю для каманды дифф.

чалавек дифф

Каманда дифф можна выкарыстоўваць у сваёй найпростай форме , каб проста паказаць вам розніцу паміж 2 файлаў , але вы таксама можаце выкарыстоўваць яго , каб стварыць файл адрозненняў у рамках стратэгіі рамонтнага , як паказана ў гэтым кіраўніцтве да каманды Linux патч .

Іншая каманда , якую вы можаце выкарыстоўваць для параўнання файлаў з'яўляецца каманда CMP , як паказана ў гэтым кіраўніцтве . Гэта параўноўвае файлы побайтно.