Брайан Керниган - UNIX — универсальная среда программирования

Тут можно читать онлайн Брайан Керниган - UNIX — универсальная среда программирования - бесплатно ознакомительный отрывок. Жанр: comp-osnet, издательство Финансы и статистика, год 1992. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    UNIX — универсальная среда программирования
  • Автор:
  • Жанр:
  • Издательство:
    Финансы и статистика
  • Год:
    1992
  • Город:
    Москва
  • ISBN:
    5-289-00253-4
  • Рейтинг:
    5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Брайан Керниган - UNIX — универсальная среда программирования краткое содержание

UNIX — универсальная среда программирования - описание и краткое содержание, автор Брайан Керниган, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.

Для программистов-пользователей операционной системы UNIX.

UNIX — универсальная среда программирования - читать онлайн бесплатно ознакомительный отрывок

UNIX — универсальная среда программирования - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Брайан Керниган
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Группа полезных команд

Поскольку у нас уже есть основные средства создания файлов, выдачи списка имен файлов, печати их содержимого, мы можем рассмотреть и другие команды обработки файлов. Чтобы изложение было конкретным, будем использовать файл poem, который содержит известное стихотворение Августа Де Моргана. Создадим его с помощью редактора ed:

$ ed а

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 a greater fleas to go on;

While these again have greater still,

and greater still, and so on.

.

w poem 263

q

$

Начнем с первой команды, которая подсчитывает число строк, слов и символов в одном или нескольких файлах и называется wcпо одной из ее функций — подсчета слов ("word counting"):

$ wc poem

8 46 263 poem

$

т.е. в файле poemвосемь строк, 46 слов и 263 символа. Определение "слова" весьма просто — любая последовательность символов, не содержащая пробела, символа табуляции или перевода строки. Команда wcпроизведет подсчет более чем в одном файле (и сообщит итог) и при необходимости "умолчит" о любом счетчике, см. wc(1).

Вторая команда, grep, отыскивает в файлах строки, которые подходят под шаблон (ее имя происходит от имени команды редактора ed g/ regular-expression /p, которая объясняется в приложении 1). С помощью этой команды можно найти слово "fleas"в файле poem:

$ grep fleas poem

Great fleas have a little fleas

And little fleas have lesser fleas,

And the great fleas themselves, in turn,

have greater fleas to go on;

$

Команда grepможет также отыскивать строки, которые не соответствуют шаблону, если используется флаг -v. (Флаг назван по имени команды редактора ed; действие флага можно представить как инвертирование условия соответствия шаблону.)

$ grep -v fleas poem

upon their backs to bite 'em,

and so ad infinitum.

While these again have greater still,

and greater still, and so on.

$

Команду grepможно использовать для поиска в нескольких файлах: в таком случае она будет выдавать имя файла перед каждой строкой, подходящей под шаблон, что позволяет найти место, где произошло сопоставление. Существуют также флаги для нумерации строк и т.д. Команда может применяться и для сопоставления с более сложными шаблонами, чем "fleas", но об этом речь пойдет в гл. 4.

Далее рассмотрим команду 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.1: Сводка команд файловой системы

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Брайан Керниган читать все книги автора по порядку

Брайан Керниган - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




UNIX — универсальная среда программирования отзывы


Отзывы читателей о книге UNIX — универсальная среда программирования, автор: Брайан Керниган. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x