Чтение онлайн

на главную - закладки

Жанры

UNIX — универсальная среда программирования
Шрифт:

Далее рассмотрим команду

sort
, которая сортирует/входные данные в алфавитном порядке последовательно строку за строкой. Выполним сортировку для файла poem, что не очень интересно, но зато наглядно:

$ sort poem

 and greater still, and so on.

 and so ad infinitum,

 have greater fleas to go on;

 upon their backs to bite 'em,

And little fleas have lesser fleas,

And the great fleas themselves, in turn,

Great fleas have little fleas

While these again have greater still,

$

Сортируются все строки, и по умолчанию вначале следуют строки, начинающиеся с пробела, за ними — начинающиеся с прописных букв,

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

У команды

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

sort -r
Обратный порядок
sort -n
Числовой порядок
sort -nr
Обратный числовой порядок
sort -f
Не учитывать различие прописных и строчных букв
sort +n
Начать сортировку с поля
n+1

В гл. 4 приводится дополнительная информация о команде

sort
.

Следующая команда для работы с файлом —

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

$ tail -1 poem

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
Вывод данного списка, содержащего большую информацию; допустимо также
ls -lt
ls -u
Вывод списка, упорядоченного по времени последнего использования; допустимо также
ls -lu
,
ls -lut
ls -r
Вывод списка с обратным порядком; допустимо также
ls -rt
,
ls -rit
и т.п.
ed filename
Редактирование поименованного файла
cp file1 file2
Копирование
file1
в
file2
, старое содержимое
file2
пропадает, если оно было
mv file1 file2
Переименование
file1
в
file2
; старый
file2
исчезает, если он был
rm filenames
Удаление поименованных файлов безвозвратно
cat filenames
Вывод содержимого поименованных файлов
pr filenames
Печать содержимого файлов с заголовком, по 66 строк на странице
pr -n filenames
Печать в
n
столбцов
pr -m filenames
Печать поименованных файлов в несколько столбцов
wc filenames
Подсчет числа строк, слов и символов для каждого файла
ws -l filenames
Подсчет числа строк для каждого файла
grep pattern filenames
Вывод строк, соответствующих шаблону
grep -v pattern files
Вывод строк, не соответствующих шаблону
sort filenames
Сортировка файлов по строкам в алфавитном порядке
tail filename
Вывод 10 последних строк файла
tail -n filename
Вывод
n
последних строк файла
tail +n filename
Вывод файла, начиная со строки
n
cmp file1 file2
Вывод места первого расхождения
diff file1 file2
Вывод всех расхождений между файлами
Поделиться:
Популярные книги

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Жених из гроба

Сотис Майя
1. Гробокопательница
Фантастика:
юмористическое фэнтези
сказочная фантастика
фэнтези
5.00
рейтинг книги
Жених из гроба

Ищу жену с прицепом

Рам Янка
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Ищу жену с прицепом

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Заклятие предков

Прозоров Александр Дмитриевич
3. Ведун
Фантастика:
фэнтези
альтернативная история
8.49
рейтинг книги
Заклятие предков

Крепость над бездной

Лисина Александра
4. Гибрид
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Крепость над бездной

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Экспансия: Сотрудничество. Том 5

Белов Артем
5. Планетарный десант
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Экспансия: Сотрудничество. Том 5

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4