LinuxForum.Fans
Тема

Вывод команды diff [решено]

Автор: SamuelLinux 6 сообщений 2005 просмотров
#17703

Здравствуйте.

Не могу разобраться со значением одного из элементов строки вывода утилиты diff.

Вот пример.

Имеем два текстовых файла: one.txt, two.txt.

text

$ cat one.txt
one
$ cat two.txt
one
two

Сравниваю два файла, используя diff.

text

$ diff -u one.txt two.txt
--- one 2010-03-19 17:51:48.000000000 +0300
+++ two 2010-03-19 17:51:56.000000000 +0300
@@ -1 +1,2 @@
 one
+two

Что означают числа между двойными at (в данном случае @@ -1 +1,2 @@)?

Спасибо.

#17711

man diff страница 1p :)

#17712

renegat,

Правила написал:
3.2.11. Запрещается публикация ... - односложных ответов: «гугл», «поиск», «ртфм».

Ну почти, почти ;)

#17713
SamuelLinux написал:
Что означают числа между двойными at (в данном случае @@ -1 +1,2 @@)?

диапазоны обработки файлов.
в общем случае @@-R +R@@, где
"-R" - диапазон для первого файла
"+R" - диапазон для второго файла
R представляется как совокупность "l,s", где
l - стартовая строка,
s - количество обрабатываемых строк. если не указано, то одна.

В вашем случае запись @@ -1 +1,2 @@ расшифровывается как:
-R: l = 1, s = 1 (по умолчанию)
+R: l = 1, s = 2
т.е. для первого файла обработано одна строка начиная с первой, для второго файла обработано две строки начиная с первой.

#17715

Вот честно, ничего в man'е не нашел. Не могли бы вы процитировать здесь man-страницу, где про это написано или же оставить ссылку на страницу online-мануала.

----added----
Это было к renegat'у адресовано. Пока писал мне уже ответили.

Спасибо, ребят, за помощь.

Войдите или зарегистрируйтесь, чтобы ответить.