Linux — поиск подстроки в файлах
Небольшую заметку решил накатать для себя, и может для тех кто как и я страдает перегрузкой мозга (или просто ленится запоминать) и не может запомнить элементарные команды линукс, такие как поиск заданной строки в файлах, с использованием маски.
И так, поиск файлов в каталоге и во всех вложенных каталогах по маске, измененных за последние сутки:
find . -name "*.php" -mtime -1 -print |
Поиск фалов в каталоге и во всех подкаталогах содержащих строку — «eval»
grep -i -n "eval" `find -name "*.php"` |
Поиск файлов во всех директориях и поддиректориях принадлежащих конкретному пользователю
find /home -user username |
Поиск всех файлов с определенным расширением, например .php
find ~ -name *.php |
Поиск в текущей папке, по маске
find . -name "[A-Z]*" |
Поиск файлов которые были изменены за последние 10 дней, в заданной папке
find /var/www/ -mtime -10 |
Найти все файлы с правами 777
find . -perm 777 |
Находим и удаляем все файлы с заданными правами
find . -perm 777 | xargs rm |
Находим конкретный файл и меняем его права
find ~ -name name.c | xargs chmod 777 |
Поиск заданной строки в файлах
grep -ri 'искомая строка' * |
Разумеется этими примерами не ограничивается потенциал данных команд.
Надеюсь мая заметка пригодится не только мне)
П.с. делитесь в комментариях своими примерами поиска файлов и их содержимого

Автор:







для сохранения результат поиска в файл используем команду
grep -i -n «eval» `find -name «*.php»` > filename.txt