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


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

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

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

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Здравствуйте.
Нужно через find сделать это:
Код: (Bash) [Выделить]
grep -rn 'Искомая фраза'
Ну типа вот такого:
Код: (Bash) [Выделить]
find -name *.tpl -type f -exec cat {} | grep 'Искомая фраза' \;
# Даже не вбивал, знаю что бред

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #1 : 09 Января 2017, 20:13:55 »
Почти верно)
Код: (bash) [Выделить]
find -name *.tpl -type f -exec grep 'Искомая фраза' {} \;
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 883
    • Просмотр профиля
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) [Выделить]
find /home/HOME/ -maxdepth 5 -type f -exec grep -HiIRrsl --color=auto happiness '{}' \;

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

Оффлайн ReNzRv

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

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

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Рекурсивный поиск в файлах через find?
« Ответ #6 : 12 Января 2017, 17:06:10 »
Или чем не нравится
Код: (bash) [Выделить]
grep -IR 'text to find'
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн Dexel

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

Короче хотел видеть что именно он будет изменять перед изменением:
Код: (Bash) [Выделить]
find -name xxx -exec sed 's/что_меняем/на_что_меняем/g' -i {} \;
Т.е. запустить просмотр, а потом замену с sed -i


Оффлайн Azure

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

 

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