русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Поиск файлов


Дата добавления: 2015-07-09; просмотров: 538; Нарушение авторских прав


Команда find ищет файлы по указанным критериям. Формат команды:

find опции места_поиска критерии модификаторы

Здесь места_поиска — каталоги, начиная с которых будет осуществлен по- иск. Поиск также производится и в подкаталогах, указанных в качестве мест поиска каталогов. По умолчанию имена найденных файлов печатаются на экране. Критериями поиска могут быть любые атрибуты файла, например, имя файла, его размер, владелец файла, тип, даты доступа, модификации и пр. Однако команда find не обеспечивает поиска файла по содержимому.

В командной строке find после тире указывают не только опции, но и крите- рии поиска, а также так называемые модификаторы. Критерии поиска ука- зывают, что искать, а модификаторы и опции — как искать и выводить най- денную информацию.

Наиболее часто используют следующие критерии:

r -name — поиск по имени файла или файловому шаблону;

r -iname — то же с игнорированием регистра;

r -type — поиск по типу файла;

r -size — для поиска по размеру или диапазону возможных размеров;

r -empty — поиск пустых файлов;

r -mtime — по дате модификации;

r -perm — поиск по правам доступа;

r -user и -group — по принадлежности файла.

Например, в текущем каталоге требуется найти все файлы, имя которых начинается со строки d1. Соответствующая команда поиска приведена в при- мере 4.17.

 

Пример 4.17. Поиск по имени файла

 

$ find . -name "d1*"

./d1

 

Обратите внимание, что если критерий поиска по подстроке в имени файла использует шаблоны подстановки, то такой шаблон должен быть экраниро- ван кавычками. В противном случае до исполнения команды оболочка за- менит шаблоны подходящими именами файлов, и команда будет работать неверно.


 

Можно ужесточить критерий поиска, потребовав от предыдущей команды отыскивать только каталоги с заданным именем (пример 4.18).



 

Пример 4.18. Поиск только каталогов по заданному имени

 

$ find . -name "d1*" -type d -ls

12042 0 drwxr-xr-x 2 user1 user1 192 Окт 7 21:58 ./d1

 

Более того, в последнем примере использован модификатор –ls команды find, позволяющий отображать информацию о найденных файлах в подроб- ном формате.

Если критерии поиска необходимо объединить по логическому условию ИЛИ, то следует использовать -o (пример 4.19).

 

Пример 4.19. Поиск по критериям, объединенным условием ИЛИ

 

$ find . -name "d1*" -o -empty

./d1

./d1/s

./d1/f1

./d1/f2

 

В этом примере продемонстрирован поиск по двум критериям, объединен- ным условием ИЛИ. Первый критерий — поиск файлов, начинающихся со строки d1, а второй — поиск пустых файлов (условие поиска -empty).

Для поиска файлов определенного типа необходимо задавать критерий

-type тип, где тип один из:

r b — файл блочного устройства;

r c — файл символьного устройства;

r d — каталог;

r f — обычный файл;

r p — именованный канал;

r s — сокет;

r l — символическая ссылка.

Имеется возможность исполнять команды с найденными find файлами. Для этого необходимо использовать модификатор –exec (пример 4.20).


 

Пример 4.20. Выполнение команд над найденными файлами

 

$find . -name "*core*" -exec rm –f {} \;

 

В примере 4.20 производится поиск и удаление всех файлов, имена которых содержат в себе строку "core". Смысл конструкции {} \; состоит в следую- щем: фигурные скобки будут заменены именами найденных файлов, которые и станут аргументами исполняемых команд. С помощью экранированной точки с запятой \; команду find информируют о том, где заканчивается команда, указанная после -exec.



<== предыдущая лекция | следующая лекция ==>
Копирование, перемещение и переименование файлов | ЗАДАНИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.195 сек.