UNIX — универсальная среда программирования | страница 23
>and greater still, and so on
>$
Команду >tail можно использовать и для вывода файла, начиная с указанной строки:
>$ tail +3 filename
файл будет печататься с третьей строки (обратите внимание на естественное изменение знака у аргумента).
Последняя пара команд предназначена для сравнения файлов. Допустим, имеется вариант файла >poem с именем >new_poem:
>$ cat poem
>Great fleas have little fleas
> upon their backs to bite 'em,
>And little fleas have lesser fleas,
> and so ad infinitum.
>And the great fleas themselves, in turn,
> have greater fleas to go on;
>While these again have greater still,
> and greater still, and so on.
>$ cat new_poem
>Great fleas have little fleas
> upon their backs to bite them,
>And little fleas have lesser fleas,
> and so on ad infinitum.
>And the great fleas themselves, in turn,
> have greater fleas to go on;
>While these again have greater still,
> and greater still, and so on.
>$
Между этими двумя файлами немного различий; на самом деле, нужно постараться, чтобы найти их. Здесь помогут команды сравнения файлов. Команда >cmp находит первое место, где файлы различаются:
>$ cmp poem new_poem
>poem new_poem differ: char 58, line 2
>$
Как видите, файлы различаются во второй строке, но неизвестно, в чем состоит их различие, и, кроме того, не отмечены другие различия. Вторая команда сравнения файлов >diff сообщает обо всех строках, которые изменены, добавлены или удалены:
>$ diff poem new_poem
>2c2
>< upon their backs to bite 'em,
>---
>> upon their backs to bite them,
>4c4
>< and so ad infinitum.
>---
>> and so on ad infinitum.
>$
Итак, вторая строка первого файла >poem изменена и отличается от второй строки второго файла >new_poem. То же самое мы наблюдаем и в отношении четвертой строки.
Вообще, команда >cmp применяется в тех случаях, когда вы хотите убедиться, что два файла действительно имеют одинаковое содержимое. Это быстродействующая команда, которая работает с любыми (не только с текстовыми) файлами. Командой >diff следует пользоваться, если вы предполагаете, что файлы различны, и хотите узнать, в каких именно строках они различаются. Команда работает только с текстовыми файлами.
В табл. 1.1 дана краткая сводка описания команд, которые были рассмотрены выше.
>ls | Вывод списка имен файлов текущего каталога |
>ls filenames | Вывод списка только поименованных файлов |
>ls -t | Вывод списка, упорядоченного по времени создания файла (сначала более новые) |
>ls -l | Вывод данного списка, содержащего большую информацию; допустимо также |