Библиотека сайта rus-linux.net
Руководство по Bash для начинающих | ||
---|---|---|
Назад | Глава 4: Регулярные выражения |
Подводим итог
Регулярные выражения являются мощным инструментом, предназначенным для выбора конкретных строк из файлов или из выходного потока. Регулярные выражения используются во многих командах UNIX: vim, perl, в базе данных PostgreSQL и так далее. С помощью внешних библиотек их можно добавить в любой язык или приложение, они нашли свое применение даже в системах, отличных от UNIX. Например, регулярные выражения можно использовать в электронных таблицах Excel, приложения, поставляемого с пакетом Microsoft Windows Office. В этой главе мы познакомились с командой grep, которая необходима в любой среде UNIX.
Замечание | |
С помощью команды grep можно делать гораздо больше, чем те несколько задач, которые мы здесь обсуждали; мы использовали эту команду только для иллюстрации использования регулярных выражений. Версия GNU grep поставляется с большим объемом документации, которую мы настоятельно рекомендуем вам прочитать! |
В Bash есть встроенные возможности, позволяющие искать соответствие с шаблонами, в которых можно пользоваться символьными классами и диапазонами.
Упражнения
Приведенные ниже упражнения помогут вам освоить регулярные выражения.
- Покажите список всех пользователей в вашей системе, которые при входе в систему по умолчанию пользуются командной оболочкой Bash.
- Отобразите в директории
/etc/group
все строки, начинающиеся со строки "daemon". - Отобразите все строки из тех же самых файлов, в которых нет этой строки.
- Покажите информацию о localhost из файла
/etc/hosts
, покажите номера строк, в которых найдено соответствие, и посчитайте количество вхождений искомой строки. - Покажите список поддиректориев директория
/usr/share/doc
, в которых содержится информация о командных оболочках. - Сколько файлов README находится в этих директориях? Не учитывайте файлы, имеющие формат "README.a_строка".
- С помощью команды grep создайте список файлов из вашего домашнего директория, которые были изменены менее 10 часов назад, не учитывайте при этом поддиректории.
- Поместите эти команды в скрипт, с помощью которого будет создаваться понятный выходной поток.
- Можете ли вы с помощью команды grep найти альтернативу для wc
-l
? - Используйте таблицу файловых систем (например,
/etc/fstab
) и создайте список локальных дисковых устройств - Создайте скрипт, с помощью которого можно проверять, существует ли пользователь в файле
/etc/passwd
. Пока что вы можете в скрипте указать имя пользователя; на этом этапе вы не обязаны использовать аргументы или условные выражения. - Покажите конфигурационные файлы, находящиеся в директории
/etc
, в именах которых присутствуют числа.
Предыдущий раздел: | Оглавление | Следующий раздел: |
Поиск по шаблону с использованием возможностей Bash | Глава 5 |