Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Рекурсивный поиск в файлах через find?  (Прочитано 1077 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Здравствуйте.
Нужно через find сделать это:
Код: Bash
  1. grep -rn 'Искомая фраза'

Ну типа вот такого:
Код: Bash
  1. find -name *.tpl -type f -exec cat {} | grep 'Искомая фраза' \;
  2. # Даже не вбивал, знаю что бред

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4309
  • Capture the truth
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #1 : 09 Январь 2017, 20:13:55 »
Почти верно)
Код: Bash
  1. find -name *.tpl -type f -exec grep 'Искомая фраза' {} \;
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 833
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #2 : 09 Январь 2017, 20:59:12 »
find . -name '*.tpl'

Punko

  • Гость
Re: Рекурсивный поиск в файлах через find?
« Ответ #3 : 09 Январь 2017, 21:10:51 »
Dexel, почему
grep -R "some_text" ./* не подходит?

adawdp

  • Гость
Re: Рекурсивный поиск в файлах через find?
« Ответ #4 : 10 Январь 2017, 03:06:09 »
2017 Jan 09; 07:06 PM

— Да там вариантов несметное количество:

Код: HTML5
  1. find /home/HOME/ -maxdepth 5 -type f -exec grep -HiIRrsl --color=auto happiness '{}' \;
  2.  

— Собрал всего побольше: путь, глубина поиска, всё что можно в grep подсветка…

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #5 : 10 Январь 2017, 18:21:34 »
Здравствуйте.
Нужно через find сделать это:
Код: Bash

    grep -rn 'Искомая фраза'
== Завинтить болт молотком.
Для болтов (файловой системы) - есть гаечные ключи (find), для гвоздей (текста) - молоток (grep).

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3276
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #6 : 12 Январь 2017, 17:06:10 »
Или чем не нравится
Код: Bash
  1. grep -IR 'text to find'
  2.  
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #7 : 12 Январь 2017, 21:38:19 »
Аййй, неправильно вопрос задал.

Короче хотел видеть что именно он будет изменять перед изменением:
Код: Bash
  1. find -name xxx -exec sed 's/что_меняем/на_что_меняем/g' -i {} \;

Т.е. запустить просмотр, а потом замену с sed -i


Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6015
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #8 : 12 Январь 2017, 21:56:48 »
Не проще в sed добавить вывод строк командой w /dev/stdout?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.576 секунд. Запросов: 25.