Книга: Искусство программирования на языке сценариев командной оболочки
Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
#!/bin/bash
# findstring.sh:
# Поиск заданной строки в двоичном файле.
directory=/usr/local/bin/
fstring="Free Software Foundation" # Поиск файлов от FSF.
for file in $( find $directory -type f -name '*' | sort )
do
strings -f $file | grep "$fstring" | sed -e "s%$directory%%"
# Команде "sed" передается выражение (ключ -e),
#+ для того, чтобы изменить обычный разделитель "/" строки поиска и строки замены
#+ поскольку "/" - один из отфильтровываемых символов.
# Использование такого символа порождает сообщение об ошибке (попробуйте).
done
exit 0
# Упражнение:
# ---------------
# Измените сценарий таким образом, чтобы он брал
#+ $directory и $fstring из командной строки.
Результат работы цикла for может передаваться другим командам по конвейеру.
- Пример 10-1. Простой цикл for
- Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка
- Пример 10-3. Fileinfo: обработка списка файлов, находящегося в переменной
- Пример 10-4. Обработка списка файлов в цикле for
- Пример 10-5. Цикл for без списка аргументов
- Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
- Пример 10-7. grep для бинарных файлов
- Пример 10-8. Список всех пользователей системы
- Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
- Пример 10-10. Список символических ссылок в каталоге
- Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле
- Пример 10-12. C-подобный синтаксис оператора цикла for
- Пример 10-13. Работа с командой efax в пакетном режиме
- Пример 10-14. Простой цикл while
- Пример 10-15. Другой пример цикла while
- Пример 10-16. Цикл while с несколькими условиями
- Пример 10-17. C-подобный синтаксис оформления цикла while
- Пример 10-18. Цикл until
- Пример 10-7. grep для бинарных файлов
- Пример 10-14. Простой цикл while
- Пример 10-18. Цикл until
- Пример установочного скрипта
- Пример из практики
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Создание файлов с блокировкой
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Рекомендуемое расширение для файлов баз данных - *.ib