Простая различная команда производится

Я видел много примеров использования различной команды, но ни одного детализирующего ее основное использование. Вот содержание этих двух файлов, которые я хотел бы использовать:

cat -A file1.txt
a$
b$
c$
d$

cat -A file2.txt
b$
c$
d$
e$

Если я использую различную команду как так:

diff file1.txt file2.txt

Я добираюсь:

1d0
< a
4a4
> e

То, что я хотел бы знать, - то, что делает они подразумевают под строками 1 и 0 в 1d0, и 4 и 4 в 4a4, в дополнение к меньше, чем и больше, чем знаки. В более общем плане, каким образом существует меньше, чем знак перед в противоположность большему, чем знак?Какая разница?

6
задан 12 June 2017 в 18:52

2 ответа

От diff руководство :

†˜ l r ’
Добавляют строки в диапазоне r второго файла после строки l первого файла. Например, †˜ 8a12,15 средства ’ добавляют строки 12†“15 из файла 2 после строки 8 из файла 1; или при изменении файла 2 в файл 1 удалите строки 12†“15 из файла 2.

†˜ fc Замена t ’
строки в диапазоне f первого файла со строками в диапазоне t второго файла. Это похоже на объединенное, добавляют и удаляют, но более компактный. Например, †˜ 5,7c8,10 ’ означает строки изменения 5†“7 из файла 1 читать как строки 8†“10 из файла 2; или, если изменение файла 2 в файл 1, строки изменения 8†“10 из файла 2 для чтения как строки 5†“7 из файла 1.

†˜ rd l ’
Удаляет строки в диапазоне r из первого файла; строка l - то, где они появились бы во втором файле, имел их не удаленный. Например, †˜ 5,7d3 средства ’ удаляют строки 5†“7 из файла 1; или при изменении файла 2 в файл 1 добавьте строки 5†“7 из файла 1 после строки, 3 из файла 2.

> и < имеют смысл, если Вы смотрите бок о бок выходной формат :

†˜ < ’
файлы отличаются, и только первый файл содержит строку.

†˜ > ’
файлы отличаются, и только второй файл содержит строку.

выводы В качестве примера из руководства:

  • бок о бок:

    The Way that can be told of is n   <
    The name that can be named is no   <
    The Nameless is the origin of He        The Nameless is the origin of He
    The Named is the mother of all t   |    The named is the mother of all t
                                       >
    Therefore let there always be no        Therefore let there always be no
      so we may see their subtlety,           so we may see their subtlety,
    And let there always be being,          And let there always be being,
      so we may see their outcome.            so we may see their outcome.
    The two are the same,                   The two are the same,
    But after they are produced,            But after they are produced,
      they have different names.              they have different names.
                                       >    They both may be called deep and
                                       >    Deeper and more profound,
                                       >    The door of all subtleties!
    
  • нормальный:

    1,2d0
    < The Way that can be told of is not the eternal Way;
    < The name that can be named is not the eternal name.
    4c2,3
    < The Named is the mother of all things.
    ---
    > The named is the mother of all things.
    > 
    11a11,13
    > They both may be called deep and profound.
    > Deeper and more profound,
    > The door of all subtleties!
    
11
ответ дан 23 November 2019 в 07:21

Различная команда объяснена подробно здесь . Вы найдете то, что Вы ищете около верхней части страницы в соответствии с заголовком "Как различные Работы".

А именно, 1d0 средства, необходимо удалить одну строку из первого файла так, чтобы они синхронизировались до нуля строки. Это не первая строка файла, в основном говорит она. При создании того удаления оба файла запускаются в пустой точке. Следующая строка вывода в файле 1 является первой строкой вставленного оба файла (т.е. следующая строка должна быть строкой 1).

Вы могли бы быть более обеспеченным выполнением diff -c file1.txt file2.txt, если Вы хотите что-то, что легче считать.

3
ответ дан 23 November 2019 в 07:21

Другие вопросы по тегам:

Похожие вопросы: