среда, 30 октября 2013 г.

И снова find


Выполнение какой-нибудь команды на каждую строку результата поиска (найденного места(пути к файлу/директории))
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 {} \;


Комментариев нет:

Отправить комментарий