![Екранно отразяване на iPhone към компютър](/f/2b2d7cf4a96f07f57ce423301cb453e8.png?width=100&height=100)
В една от по -ранните ни статии обяснихме за 9 най -добри инструмента за сравнение на файлове и разлики (Diff) за Linux системи. Изброихме комбинация от инструменти за командния ред и графичен интерфейс за сравняване и намиране на разлики между файловете, всеки с определени забележителни функции. Друга полезна помощна програма за Linux се нарича sdiff.
Прочетете също: Как да намерите разлика между две директории с помощта на Diff и Meld Tools
sdiff е проста помощна програма за командния ред за показване на разликите между два файла и интегриране интерактивно. Той е лесен за използване и се предлага с ясни опции за използване, както е обяснено по -долу.
Синтаксисът за използване sdiff е както следва.
$ sdiff опция... файл1 файл2.
1. Най -лесният начин да бягате sdiff е да предоставите двете имена на файлове, които се опитвате да сравните. Той ще покаже слетата разлика един до друг, както е показано на следващата екранна снимка.
$ cal> cal.txt. $ df -h> du.txt. $ sdiff du.txt cal.txt.
2. За да третирате всички файлове като текст и да ги сравнявате ред по ред, независимо дали са текстови файлове или не, използвайте -а
флаг.
$ sdiff -a du.txt cal.txtРазмер на файловата система Използвана Налична употреба% Монтирана на | Април 2018 г. udev 3.9G 0 3.9G 0% /dev | Пн Вт Вт Чт Пт Са tmpfs 788M 9.7M 779M 2% /пробег | 1 2 3 4 5 6 7 /dev /sda10 324G 265G 43G 87% /| 8 9 10 11 12 13 14 tmpfs 3.9G 274M 3.6G 7% /dev /shm | 15 16 17 18 19 20 21 tmpfs 5.0M 4.0K 5.0M 1% /бягане /заключване | 22 23 24 25 26 27 28 tmpfs 3.9G 0 3.9G 0%/sys/fs/cgroup | 29 30/dev/loop2 82M 82M 0 100%/snap/core/4206 | /dev/loop4 181M 181M 0 100%/snap/vlc/190 < /dev/loop1 87M 87M 0 100%/snap/core/4407 < /dev/loop0 189M 189M 0 100%/snap/vlc/158 < /dev/loop3 83M 83M 0 100%/snap/core/4327 < cgmfs 100K 0 100K 0%/run/cgmanager/fs < tmpfs 788M 40K 788M 1%/бягане/потребител/1000 <
3. Ако имате файлове с твърде много интервали, можете да разберете sdiff да игнорирате цялото бяло пространство, докато сравнявате с помощта на -W
превключвател.
$ sdiff -W du.txt cal.txt
4. Можете също да кажете sdiff да игнорирате всяко бяло пространство в края на реда, като използвате -z
опция.
$ sdiff -z du.txt cal.txt.
5. Освен това можете да инструктирате sdiff да игнорирате промените, дължащи се на разширяването на раздела с -Е
флаг.
$ sdiff -E du.txt cal.txt.
6. За да игнорирате регистъра (където sdiff третира главни и малки букви като еднакви), използвайте -i
опция, както е показано.
$ sdiff -i du.txt cal.txt.
7. The -В
опцията помага да се игнорира празен ред във файлове.
$ sdiff -B du.txt cal.txt.
8.sdiff ви позволява да зададете броя колони за отпечатване (по подразбиране е 130), като използвате -w
превключете както следва.
$ sdiff -w 150 du.txt cal.txt.
9. За да разширите разделите до интервали в изхода, използвайте -T
опция.
$ sdiff -t du.txt cal.txt.
10. The -о
flag му позволява да работи по -интерактивно и да изпраща изход към файл. В тази команда изходът ще бъде изпратен на sdiff.txt файл, натиснете Въведете след като видях %
подпишете, за да получите интерактивно меню.
$ sdiff du.txt cal.txt -o sdiff.txtРазмер на файловата система Използвана Налична употреба% Монтирана на | Април 2018 г. udev 3.9G 0 3.9G 0% /dev | Пн Вт Вт Чт Пт Са tmpfs 788M 9.7M 779M 2% /пробег | 1 2 3 4 5 6 7 /dev /sda10 324G 265G 43G 87% /| 8 9 10 11 12 13 14 tmpfs 3.9G 274M 3.6G 7% /dev /shm | 15 16 17 18 19 20 21 tmpfs 5.0M 4.0K 5.0M 1% /бягане /заключване | 22 23 24 25 26 27 28 tmpfs 3.9G 0 3.9G 0%/sys/fs/cgroup | 29 30/dev/loop2 82M 82M 0 100%/snap/core/4206 | /dev/loop4 181M 181M 0 100%/snap/vlc/190 < /dev/loop1 87M 87M 0 100%/snap/core/4407 < /dev/loop0 189M 189M 0 100%/snap/vlc/158 < /dev/loop3 83M 83M 0 100%/snap/core/4327 < cgmfs 100K 0 100K 0%/run/cgmanager/fs < tmpfs 788M 40K 788M 1%/бягане/потребител/1000 <%
ed: Редактирайте, след това използвайте и двете версии, всяка украсена със заглавка. eb: Редактирайте, след това използвайте и двете версии. el или e1: Редактирайте, след това използвайте лявата версия. er или e2: Редактирайте, след това използвайте правилната версия. д: Изхвърлете двете версии, след което редактирайте нова. l или 1: Използвайте лявата версия. r или 2: Използвайте правилната версия. s: Безшумно включвайте общи линии. v: Многословно включват общи линии. q: Напуснете. %
Обърнете внимание, че трябва да имате някои от редакторите, като например изд инсталиран на вашата система, преди да ги използвате, в този сценарий.
11. The --diff-програма
switch ви позволява да извикате друг инструмент от командния ред, различен от sdiff за да сравните файловете, например, можете да се обадите на разл програма, както е показано.
$ sdiff --diff-program = diff du.txt cal.txt.
За повече информация, консултирайте се с man страница на sdiff.
$ man sdiff.
В тази статия разгледахме sdiff примери за инструменти от командния ред за начинаещи. Ако имате въпроси, използвайте формата за коментари по -долу, за да се свържете с нас.