Поиск файлов более определенного объема (более 100MB):
find / -size +100M

Поиск строки «STRING» в каталоге /home/

find /home/ -type f -exec grep -H "STRING" {} \;

Поиск всех php файлов (файлов, которые заканчиваются на .php) и содержащих строку «STRING»

find /home/ -type f -name "*.php" -exec grep -H "STRING"  {} \;

Рекурсивный поиск в указанном каталоге, всех файлов содержащих eval(

grep -r "eval(" /home/

Поиск с заменой. Утилита SED.

Ищем текст old_text и меняем на new_text.

Поиск осуществляется в файлах (именно в файлах), которые в директории /home и поддиректориях.


find /home -type f -print -exec sed -i -r 's/old_text/new_text/g' {} \;

Разберем ключи и что есть что:

find Команда поиска.
/home Место где искать.
-type f Тип файл. Ищем только файлы.
-print Выводим все файлы.
-exec Выполнить команду. Обязательно должна заканчиваться \;
Разберем утилиту SED
sed {} \; Утилита для работы с текстом. Утилита  обязательно заканчивается \;
‘s/old_text/new_text/g’ s — Замена (перед первым слешом).
g — Глобально (после последнего слеша).
old_text — Текст, который ищем.
new_text — Новый текст.
Вместо слеша, может использовать любой другой символ: $ или | или % и т.д.

Копирование файлов.

Копируем файлы из папки home в папку home/backup. Копируем только те файлы, которые редактировались за последние 30 дней (-mtime -30).

find /home -type f -mtime -30 -exec cp {} /home/backup \;

-mtime -30 = -mtime с параметром -30 указывает, что нужно искать файлы, менявшиеся за последние 30 дней.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Навигация по записям