Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

При работе с большими файлами не обязательно выводить на экран весь файл, если требуется просмотреть только его начало и конец. Существуют удобные команды head и tail, упрощающие подобную задачу. Команда head отбирает первые п строк файла (по умолчанию 10), а команда tail — последние я строк (по умолчанию тоже 10).

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

$ sort -t: — k4 video.txt | head -1

Alien:HK:119:1982

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

$ sort -t: — k4 video.txt | tail -1

A few Good Men:KL:445:5851

11.1.15. Передача результатов сортировки утилите awk

Может возникнуть необходимость по результатам сортировки отобразить небольшое итоговое сообщение. Сделать это легко, если воспользоваться возможностями утилиты awk. В следующем примере сведения о фильме с наименьшим объемом проката за год посредством канала направляются утилите awk, которая дополняет их поясняющим текстом. В качестве разделителя полей в обеих утилитах применяется двоеточие.

$ sort -t: — k4 video.txt | head -1 | \

awk -F: '{print "Worst rental", $1, "has been rented", $3, "times"}'

Worst rental Alien has been rented 119 times

11.1.16. Объединение двух отсортированных файлов

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

$ cat video2.txt

Crimson Tide:134:2031 Die Hard:152:2981

Необходимо объединить его с файлом video.txt. Для этого нужно предварительно создать отсортированную версию файла video.txt, которую назовем video.sort, а затем применить команду sort с опцией -m:

$ sort -t: — m -k1 video2.txt video.sort

A Few Good Men:KL:445:5851

Alien:HK:119:1982

Aliens:HK:532:4892

Boys in Company C:HK:192:2192

Crimson Tide:134:2031

Die Hard:152:2981

Star Wars:HK:301:4102

The Hill:KL:63:2972

Toy Story:HK:239:3972

11.1.17. Дополнительные примеры команды sort

Команда sort может применяться для сортировки имен пользователей в файле /etc/passwd. Достаточно выполнить сортировку содержимого этого файла по первому полю, которое включает регистрационные имена, а затем по каналу передать полученный результат утилите awk. Последняя отобразит содержимое только первого поля данного файла:

$ cat /etc/pasawd | sort -t: — k1 | awk -F: '{print $1}'

adm bin daemon

Команда sort может работать совместно с командой df, выводя на экран информацию об имеющихся файловых системах в порядке убывания процента используемого ими дискового пространства. Ниже приводится образец работы команды df:

$ df

Filesystem Ik‑blocks Used Available Use% Mounted on

/dev/hda5 495714 291027 179086 62% /

/dev/hda1 614672 558896 55776 91% /dos

Выполним сортировку по полю 5, содержащему процент дискового пространства, занимаемого файловой системой, только предварительно с помощью редактора sed удалим первую строку. В процессе сортировки также воспользуемся опцией -b, которая позволяет игнорировать любое количество начальных пробелов.

$ df | sed '1d' | sort -b -r -k5

/dev/hda1 614672 558896 55776 91% /dos

/dev/hda5 495714 291027 179086 62% /

11.2. Удаление повторяющихся строк с помощью команды uniq

Команда uniq применяется для удаления идущих подряд повторяющихся строк из текстового файла. Для правильного применения команды uniq важно, чтобы рассматриваемый файл был отсортирован. Однако это требование не является обязательным. Можно обращаться к произвольному неупорядоченному тексту и даже сравнивать отдельные фрагменты строк.

Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Тристан Таормино , Литагент «5 редакция»

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии
Путь менеджера от новичка до гуру
Путь менеджера от новичка до гуру

«Путь менеджера» – это сборник лучших материалов online-сообщества (learning community) менеджеров E-xecutive за пять лет (2001–2005), которые впервые публикуются offline. Возможно, это книга с самым большим количеством авторов: 20 сотрудников E-xecutive и более 200 участников Сообщества писали, выбирали и редактировали материалы.Книга представляет собой «карту местности» для менеджера, стремящегося найти кратчайший путь к успеху, на которой отображены открытия лучших «картографов» – всемирно признанных бизнес-гуру и успешных российских топ-менеджеров. Эта книга о том, чем в действительности живут менеджеры, о чем не пишут в учебниках, и предназначается она для тех, кто стремится не только к карьерному успеху, но и к настоящей эффективности, личностному и профессиональному развитию.

Сообщество менеджеров E-xecutive

Руководства / Словари и Энциклопедии