Сравнение и/или редактирование двух файлов перед объединением их в один файл. Это интерактивная утилита, по своей природе, и из-за этого она довольно редко используется в сценариях.
cmp
Утилита cmp -- это упрощенная версия diff. В то время, как diff выводит подробную информацию об имеющихся различиях, утилита cmp лишь показывет номер строки и позицию в строке, где было встречено различие.
Пример 12-27. Пример сравнения двух файлов с помощью cmp.
comm
Универсальная утилита сравнения. Работает с отсортированными файлами.
comm
comm file-1 file-2 -- вывод в три колонки:
колонка 1 = уникальные строки для
колонка 2 = уникальные строки для
колонка 3 = одинаковые строки.
Ключи, подавляющие вывод в одной или более колонках.
Утилиты
basename
Выводит только название файла, без каталога размещения. Конструкция basename $0 -- позволяет сценарию узнать свое имя, то есть имя файла, который был запущен. Это имя может быть использовано для вывода сообщений, напрмиер:
dirname
Отсекает basename от полного имени файла и выводит только путь к файлу.
Пример 12-28. Утилиты basename и dirname
split
Утилита разбивает файл на несколько частей. Обычно используется для разбиения больших файлов, чтобы их можно было записать на дискеты или передать по электронной почте по частям.
sum, cksum, md5sum
Эти утилиты предназначены для вычисления контрольных сумм. Контрольная сумма -- это некоторое число, вычисляемое исходя из содержимого файла, и служит для контроля целостности информации в файле. Сценарий может выполнять проверку контрольных сумм для того, чтобы убедиться, что файл не был изменен или поврежден. Для большей безопасности, рекомендуется использовать 128-битную сумму, генерируемую утилитой md5sum (message digest checksum).