Сравнение и объединение файлов diff, diff3, sdiff, cmp, patch : Вызов 'sdiff'

Вперед Назад Содержание

16. Вызов 'sdiff'

Команда sdiff выполняет слияние двух файлов и интерактивно показывает результаты слияния. Формат командной строки следующий:

      sdiff -o OUTFILE OPTIONS... FROM-FILE TO-FILE   
Эта команда выполняет слияние файла FROM-FILE с файлом TO-FILE, и выдает результат слияния в файл OUTFILE. Если FROM-FILE - это имя каталога, а TO-FILE - нет, то sdiff сравнивает файл в каталоге FROM-FILE с именем, таким же как TO-FILE; то же самое происходит, если FROM-FILE - имя файла, а TO-FILE - имя каталога. FROM-FILE и TO-FILE оба не могут быть каталогами.

Опции sdiff начинаются с символа '-', поэтому имена файлов FROM-FILE и TO-FILE просто так не могут начинаться с символа '-'. Однако, если встречается аргумент '--', то все остальные аргументы считаются именами файлов, даже если они начинаются с символа '-'. Нельзя использовать '-' в качестве входного файла.

Код завершения 0 означает, что различия не были обнаружены, 1 ­ что были обнаружены различия, и 2 - означает, что при исполнении обнаружена ошибка.

При вызове sdiff без опции '-o' (или '--output') различия выдаются в сравнительном формате. Не рекомендуется использовать эту опцию, так как она устаревает и будет отсутствовать в последующих версий. Вместо нее следует использовать diff --side-by-side.

16.1 Опции 'sdiff'

Далее приводится суммарное изложение опций воспринмаемых GNU 'sdiff'. Большинство опций имеют два эквивалентных имени, одно из которых - буква, предваряемая '-', а второе - длинное имя, предваряемое '--'. Объединение однобуквенных опций (если они не имеют аргумента) может быть скомбинировано в одну слово командой строки: '-ac' эквивалентно '-a -c'. Опции с длинными именами могут быть сокращены любым уникальным началом их имени.

`-a'

Все файлы рассматриваются как текстовые и выполняется их построчное сравнение, даже если они и не похожи на текст.

`-b'

Игнорировать различия в количестве символов-разделителей.

`-B'

Игнорировать различия в количестве вставленных или удаленных пустых строк.

`-d'

Изменить алгоритм с тем, чтобы найти наименьший набор изменений. Это приводит к замедлению работы sdiff (иногда к значительному замедлению).

`-H'

Использовать эвристики для ускорения обработки больших файлов, которые имеют несколько разрозненных небольших изменений.

`--expand-tabs'

Расшивать символы табуляции в пробелы при выводе для того, чтобы сохранить выравнивание, выполненное с помощью символов табуляции во входных файлах.

`-i'

Игнорировать различия в регистре символов; одинаковые большие и маленькие буквы считаются совпадающими.

`-I REGEXP'

Игнорировать изменения, которые произошли в результате вставки или удаления строк, которые описываются регулярным выражением REGEXP.

`--ignore-all-space'

Игнорировать количество символов-разделителей при сравнении строк.

`--ignore-blank-lines'

Игнорировать изменения, произошедшие в результате вставки или удаления пустых строк.

`--ignore-case'

Игнорировать различия в регистре символов; одинаковые большие и маленькие буквы считаются совпадающими.

`--ignore-matching-lines=REGEXP'

Игнорировать изменения, которые произошли в результате вставки или удаления строк, которые описываются регулярным выражением REGEXP.

`--ignore-space-change'

Игнорировать количество символов-разделителей при сравнении строк.

`-l' или `--left-column'

Печатать только левую колонку для двух общих строк.

`--minimal'

Изменить алгоритм с тем, чтобы найти наименьший набор изменений. Это приводит к замедлению работы sdiff (иногда к значительному замедлению).

`-o FILE' или `--output=FILE'

Поместить результат объединения файлов в файл FILE. Эта опция требуется при слиянии файлов.

`-s' или `--suppress-common-lines'

Не печатать общие строки файлов.

`--speed-large-files'

Использовать эвристики для ускорения обработки больших файлов, которые имеют несколько разрозненных небольших изменений.

`-t'

Расшивать символы табуляции в пробелы при выводе для того, чтобы сохранить выравнивание, выполненное с помощью символов табуляции во входных файлах.

`--text'

Все файлы рассматриваются как текстовые и выполняется их построчное сравнение, даже если они и не похожи на текст.

`-v' или `--version'

Вывести номер версии программы sdiff.

`-w COLUMNS' или `--width=COLUMNS'

Считать ширину строки при выводе COLUMNS символов. Заметим, что по историческим причинам, соответствующая опция для команды diff -W, а для команды sdiff -w.

`-W'

Игнорировать несовпадения в количестве горизонтальных символов-разделителей при сравнении строк. Заметим, что по историческим причинам, соответствующая опция для команды diff -w, а для команды sdiff -W.


Вперед Назад Содержание