Выполнение какой-нибудь команды на каждую строку результата поиска (найденного места(пути к файлу/директории))
find [path/to/dig/into] -exec [command] [command_params] {} \;
{}
Интересные примеры:
# Найти файлы проекта с указанной строкой
find . -exec grep "string_to_find_in_next_path" {} \;
# Вывести список всех директорий проекта
find my_prjdir_in_cur_dir -type d
# Удалить все файлы и директории с именем .svn в директории проекта
find my_prjdir_in_cur_dir "-name" .svn -exec rm -rf "{}" \;
# Найти файлы проекта с указанной строкой и при этом вывести не только строку в файле, но и путь к файлу
find my_prjdir_in_cur_dir -exec grep --with-filename "string_to_find_in_next_path" {} \;
# Вывести в консоль содержимое файлов; -print это ключ для find
# именно он выведет не только в стандартный аутпут, но и в еррор поток пути к найденным файлам,
# так find выводит в консоль путь к файлу, а cat за каждым путем содержимое файла
find my_prjdir_in_cur_dir -type f -print -exec cat {} \;
Комментариев нет:
Отправить комментарий