1. Использование

split [КЛЮЧ] [ВХОД [ПРЕФИКС]] ПРЕФИКСab, …; по умолчанию размер части равен 1000 строк, а ПРЕФИКС равен «x». Если ФАЙЛ не задан или задан как «-», читает стандартный ввод.

Аргументы, обязательные для длинных ключей, обязательны и для коротких:

-a, --suffix-length=Н

использовать суффиксы длины Н (по умолчанию 2)

-b, --bytes=ЧИСЛО

записывать в каждый выходной файл заданное ЧИСЛО байт

-C, --line-bytes=ЧИСЛО

записывать не более заданного ЧИСЛА байт из строки

-d, --numeric-suffixes

использовать числовые, а не алфавитные суффиксы

-l, --lines=ЧИСЛО

записывать в каждый выходной файл заданное ЧИСЛО строк

--verbose

печатать сообщение в стандартный поток ошибок перед открытием очередного выходного файла

--help

показать эту справку и выйти

--version

показать информацию о версии и выйти

При задании числа байт можно использовать суффикс: b означает 512b, k — 1kb, m — 1Mb.

В вычислительной технике diff — утилита сравнения файлов, выводящая разницу между двумя файлами. Эта программа выводит построчно изменения, сделанные в файле (для текстовых файлов). Современные реализации поддерживают также двоичные файлы. Вывод утилиты называется «diff», или, что более распространено, патч, так как он может быть применён с программой patch. Вывод похожих утилит сравнения файлов также часто называется «diff».

    1. Алгоритм

Работа diff основана на нахождении наибольшей общей подпоследовательности (англ. longest common subsequence, проблема LCS). Например, у вас имеется две последовательности элементов:

a b c d f g h j q z

a b c d e f g i j k r x y z

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

a b c d f g j z

После получения наибольшей общей последовательности остаётся только небольшой шаг до получения похожего на diff вывода:

e h i k q r x y

+ - + + - + + +

    1. Использование

diff вызывается из командной строки с именами двух файлов в качестве аргументов: diff original new. Вывод команды представляет собой изменения, которые нужно произвести в исходном файле original, чтобы получить новый файл new. Если original и new — директории, то diff автоматически будет применён к каждому файлу, который существует в обоих директориях.

comm — утилита unix, читает файл1 и файл2, которые должны быть предварительно лексически отсортированы, и генерирует вывод, состоящий из трёх колонок текста: строки, найденные только в файле файл1; строки, найденные только в файле файл2; и строки, общие для обоих файлов. Имя файла «-» означает стандартный ввод. Перед каждой колонкой будет напечатано столько символов табуляции, сколько печатается колонок с меньшими номерами. Например, если вывод второй колонки подавляется, то перед строками, печатаемыми в первой колонке, символов табуляции не будет совсем, а перед строками в третьей колонке будет напечатан один символ табуляции.

Утилита comm предполагает, что файлы были предварительно лексически отсортированы; все символы участвуют в сравнении строк.

Соседние файлы в папке материалы к собеседованию