Основы программирования в Linux
Шрифт:
Как видите, найдены строки, заканчивающиеся буквой "е".
2. Теперь найдите трехбуквенные слова, начинающиеся с символов "Th". В данном случае вам понадобится шаблон
3. В
Приведенные примеры лишь коснулись наиболее важных компонентов регулярных выражений. Как и для большинства составных частей ОС Linux, существует множество дополнительной документации помимо этой книги, которая поможет вам узнать еще больше подробностей, но лучший способ изучения регулярных выражений — экспериментировать с ними.
Выполнение команд
При написании сценариев вам часто требуется перехватить результат выполнения команды для использования его в сценарии командной оболочки; т.е. вы хотите выполнить команду и поместить ее вывод в переменную.
Сделать это можно с помощью синтаксической конструкции
В более раннем варианте конструкции применяется обратный апостроф или обратная кавычка (
Во всех современных сценариях следует применять конструкцию выполнения или подстановки команды
Результат выполнения конструкции
Поскольку текущий каталог — это переменная окружения командной оболочки, первая строка не нуждается в применении подстановки команды. Результат выполнения программы
Если вы хотите поместить результат в переменную, то можете просто присвоить его обычным образом:
Возможность поместить результат выполнения команды в переменную сценария — очень мощное средство, поскольку оно облегчает использование существующих команд в сценариях и перехват результата их выполнения. Если когда-нибудь вам понадобится преобразовать набор параметров, представляющих собой вывод команды на стандартное устройство вывода, и передать их как аргументы в программу, возможно, вас порадует то, что команда
Иногда возникают проблемы, если команда, которую вы хотите выполнить, выводит несколько пробелов перед нужным вам текстом, или больше информации, чем вам нужно. В таких случаях можно воспользоваться командой
Мы уже использовали команду
Современная и лучшая альтернатива — синтаксическая конструкция
Обратите внимание на тонкое отличие приведенной подстановки от команды
Вы уже видели простейший вариант присваивания параметра и подстановки значения параметра:
Проблема возникает, когда вы хотите вставить дополнительные символы в конец значения переменной. Предположим, что вы хотите написать короткий сценарий обработки файлов 1_tmp и 2_tmp. Вы могли бы написать следующие строки:
Конан из Киммерии
Шедевры фантастики
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Защитник
11. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
рейтинг книги
Гарри Поттер и Обитель Бессмертия
Проект «Поттер-Фанфикшн»
Приключения:
прочие приключения
рейтинг книги
Былое и думы.(Предисловие В.Путинцева)
Проза:
русская классическая проза
рейтинг книги