Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Руководство по Bash для начинающих
Назад Глава 4: Регулярные выражения

Подводим итог

Регулярные выражения являются мощным инструментом, предназначенным для выбора конкретных строк из файлов или из выходного потока. Регулярные выражения используются во многих командах UNIX: vim, perl, в базе данных PostgreSQL и так далее. С помощью внешних библиотек их можно добавить в любой язык или приложение, они нашли свое применение даже в системах, отличных от UNIX. Например, регулярные выражения можно использовать в электронных таблицах Excel, приложения, поставляемого с пакетом Microsoft Windows Office. В этой главе мы познакомились с командой grep, которая необходима в любой среде UNIX.

Замечание

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

В Bash есть встроенные возможности, позволяющие искать соответствие с шаблонами, в которых можно пользоваться символьными классами и диапазонами.

Упражнения

Приведенные ниже упражнения помогут вам освоить регулярные выражения.

  1. Покажите список всех пользователей в вашей системе, которые при входе в систему по умолчанию пользуются командной оболочкой Bash.
  2. Отобразите в директории /etc/group все строки, начинающиеся со строки "daemon".
  3. Отобразите все строки из тех же самых файлов, в которых нет этой строки.
  4. Покажите информацию о localhost из файла /etc/hosts, покажите номера строк, в которых найдено соответствие, и посчитайте количество вхождений искомой строки.
  5. Покажите список поддиректориев директория /usr/share/doc, в которых содержится информация о командных оболочках.
  6. Сколько файлов README находится в этих директориях? Не учитывайте файлы, имеющие формат "README.a_строка".
  7. С помощью команды grep создайте список файлов из вашего домашнего директория, которые были изменены менее 10 часов назад, не учитывайте при этом поддиректории.
  8. Поместите эти команды в скрипт, с помощью которого будет создаваться понятный выходной поток.
  9. Можете ли вы с помощью команды grep найти альтернативу для wc -l?
  10. Используйте таблицу файловых систем (например, /etc/fstab) и создайте список локальных дисковых устройств
  11. Создайте скрипт, с помощью которого можно проверять, существует ли пользователь в файле /etc/passwd. Пока что вы можете в скрипте указать имя пользователя; на этом этапе вы не обязаны использовать аргументы или условные выражения.
  12. Покажите конфигурационные файлы, находящиеся в директории /etc, в именах которых присутствуют числа.

Предыдущий раздел: Оглавление Следующий раздел:
Поиск по шаблону с использованием возможностей Bash   Глава 5