shap3n
@shap3n
ASP .NET Developer

Как в через терминал linux найти файлы с одним расширением и только в папках которые заканчиваются на строку?

Здравствуйте, кто может подсказать, как я могу найти через команду find файлы с расширением .html и только в тех папках которые заканчиваются на "*.-blr"?
Мне нужно на моих сайтах заменить код с одной строки на другую, но стопарнулся на поиске. Почитал что можно использовать -and но только в критериях а не в директории, вопрос, как это можно сделать?
Пробовал такую команду, но она не отрабатывает:
find -type d -iname "*-blr" -and -type f -iname "*.html" -exec grep -Him1 "stroka1" {} \;

А для замены я использую эту команду, было бы супер если кто-то подсказал как её переписать, под суть вопроса
find -type f -name \*.html -exec sed -i -r "s/stroka1/ stroka2/g" {} \;


UPD: пользователь Sand отправил комментарий и удалил, но в его сообщении было больше правды, не успел сохранить, но суть такая
find -type d -iname "*endD" | find $(xargs) -type f -iname "*.html"


В итоге вопрос решен. Спасибо.
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 1
xotkot
@xotkot
хорошо есть и хорошо весьма
найти нужные файлы и заменить в них подстроку
sed -i "s/stroka1/stroka2/g" $(find -type f -iname "*.html" | grep \\-blr\/ )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы