Команди пошуку GREP та FIND
Команда grep/egrep"фільтрує" рядки - залишаючи тільки "відповідні" під шаблон
У шаблон можуть входити звичайні символи (що представляють себе, а також - спецсимволи, що виконують службові функції шаблону: . * ^ $ [ ]
| . | - будь-який довільний символ |
| * | - "множник" (попередній символ будь-яку кількість разів) |
| .* | - будь-яка послідовність символів |
| ^шаблон | - прив'язуємо шаблон до початку рядка |
| шаблон$ | - прив'язуємо шаблон до кінця рядка |
| [символи] | - рівно один символ із тих, що стоїть у дужках |
Вивести всіх привілейованих користувачів:
Вивести всіх непривілейованих користувачів:
Вивести всіх користувачів, імена яких починаються з букв a,b,e,d
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 дні в поточному каталозі та його підкаталогах.
Знищити всі файли із закінченнями *.bu, *%, які не змінювалися більше місяця.
запис "rm <> \;" - позначає команду Unix, яка виконуватиметься всім таких знайдених файлів. Замість піктограми "<>" буде підставлятися щоразу ім'я знайденого файлу. Природно, що таким чином ми їх і знищимо.