На главную
Вы находитесь в Хранилище файлов Белорусской цифровой библиотеки

Команды поиска GREP и FIND.

Команда grep/egrep "фильтрует" строки - оставляя только "подходящие" под шаблон egrep шаблон [ file ... ] В шаблон могут входить обыкновенные символы (представляющие сами себя), а также - спецсимволы, выполняющие служебные функции шаблона: . * ^ $ [ ] . - любой произвольный символ * - "множитель" (предыдущий символ любое число раз) .* - любая последовательность символов ^шаблон - привязываем шаблон к началу строки шаблон$ - привязываем шаблон к концу строки [символы] - любой один символ из тех, что стоят в скобках Вывести всех привелигированных пользователей: egrep ':0:0:' /etc/passwd Вывести всех непривелигированных пользователей: egrep -v ':0:0:' /etc/passwd Вывести всех пользователей, имена которых начинаются с букв a,b,e,d cat /etc/passwd | grep "^[abed].*" Команда find. find рекурсивно обходит указанные каталоги и файлы, проверяет для них выполнение указанных условий и может вдобавок выпол- нять с найденными файлами указанные действия. Например, самое простое действие - распечатать имя файла. find файл [ ... ] ключи/условия/действия Ключи-условия команды find: -name "*.c" - простое имя подходит под шаблон *.c -type f - брать только обыкновенные файлы -type d - брать только каталоги -size +500 - файлы размером БОЛЬШЕ 500*512 байт -mtime -3 - дата модификации МЕНЬШЕ 3-х дней -newer filename - дата модификации нашего файла МЕНЬШЕ, чем у заданного файла filename ВНИМАНИЕ: Команда find использует стандартные SHELL'овские шаблоны. Команда grep использует шаблоны другого формата, называемые регулярными выражениями. Ключи-действия команды find -print - просто распечатать маршрутное имя файла -exec команда над файлом {} \; Пример. Напечатать имена всех обыкновенных Си-шных файлов, изменившихся за последние 4 дня в текущем каталоге и его подкаталогах. find . -type f -mtime -4 -print Уничтожить все файлы с окончаниями *.bu, *%, которые не меня- лись больше месяца. find / \( -name "*.bu" -o -name "*%" \) -type f \ -atime +30 -exec rm {} \; запись "rm {} \;" - обозначает команду Unix, которая будет вы- полняться для всех таких найденных файлов. Вместо значка "{}" будет подставляться каждый раз имя найденного файла. Естествен- но, что таким образом мы их все и уничтожим.

Last-modified: Wed, 12 Jul 2000 14:35:01 GMT
World LibraryРеклама в библиотекеПроект для детей старше 12 лет!
Проект Либмонстра, партнеры БЦБ - Украинская цифровая библиотека и Либмонстр Россия
https://database.library.by