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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: поиск слова в документах  (Прочитано 2480 раз)

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

Оффлайн ddr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
поиск слова в документах
« : 12 Августа 2008, 11:30:58 »
Как сделать выборку документов в которых используется определенное слово ? Знаю что с помощью команды find и grep , но не получается вывести  результат на экран,он что то про себя там ищет =) как вывести имя документа, где находиться и т.д.
Покажите как команда должна выглядеть.

Оффлайн Saha

  • Активист
  • *
  • Сообщений: 517
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #1 : 12 Августа 2008, 12:07:55 »
а в каких именно документах? если в текстовых файлах, то "Поиск файлов" (gnome-search-tool) вполне с этим справляется

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #2 : 12 Августа 2008, 12:17:12 »
man grep
grep --help

man find

В find непонятно написано, как задавать команду для ключа -exec, только невнятно сказано про экранирование.
Так вот, скобки, заменяющие имя файла {}, надо писать в апострофах:  '{}',
а перед точкой с запятой в конце команды ставить \.

Пример:
find /usr -exec grep keyword '{}' \;
« Последнее редактирование: 12 Августа 2008, 12:18:47 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн vrybas

  • Активист
  • *
  • Сообщений: 505
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #3 : 12 Августа 2008, 12:21:24 »
Для поиска по текстовым файлам есть прикольная утилитка rak написанная на Ruby
http://rak.rubyforge.org/

$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo gem install rak


Я ей инфу в логах Pidgin'а ищу. Протоколов, как и контактов много, поэтому запоминается обычно суть разговора, а не с кем и по какому протоколу.

$ cd ~/.purple/logs
$ rak -i "word_to_search"


Конечно-же бродит и по вложенным папкам.

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #4 : 12 Августа 2008, 13:00:44 »
2 ddr
Сначала определись в каких документах хочется искать и каковы будут запросы (полные слова, строка/подстрока, возможность использования регулярных выражений и т.п.)

find + grep в основном для поиска в обычных текстовых файлах.

Оффлайн ddr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #5 : 12 Августа 2008, 13:11:23 »
Пример:
find /usr -exec grep keyword '{}' \;

данный вывод просто показывает строчки в фаилах, а вот какие фаилы и путь к ним как узнать?, если искать слово на кириллице в документах, он не находит, или для кириллицы другие параметры нужно задавать?, маны читал, но ведать совсем туго с языком.

Оффлайн ddr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #6 : 12 Августа 2008, 13:14:28 »
2 ddr
Сначала определись в каких документах хочется искать и каковы будут запросы (полные слова, строка/подстрока, возможность использования регулярных выражений и т.п.)

find + grep в основном для поиска в обычных текстовых файлах.

find /usr -iname '*.doc' -exec grep keyword '{}' \; в замен keyword'a пишу слово на кириллице искомое, получить нужно где в каких фаилах это слово встречается и какой путь до фаилов.
Про кириллицу написал выше.


Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: поиск слова в документах
« Ответ #7 : 12 Августа 2008, 13:26:45 »
Если быть дотошным, то "поиск слова в документах" это конек поисковых систем.
Я лично использую GoogleDesktop, который здорово помогает, особенно быстро выяснить есть такой фильм на жестком диске или стоит скачать из сети =)

хотя по логам конечно быстрее ориентироватся с помощью grep -R что_нужно_найти
пример взят с работы под OС FreeBSD, но суть передана верно
/var/log# grep -R error * |more
auth.log:Apr 10 08:33:53 castle sshd[790]: error: PAM: authentication error for vasilisc from 192.168.0.1

httpd-access.log:192.168.0.61 - - [07/Aug/2008:14:08:36 +0000] "GET /themes/original/img/error.ico HTTP/1.1" 404 304 "http://www.b.lan"

Оффлайн vrybas

  • Активист
  • *
  • Сообщений: 505
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #8 : 12 Августа 2008, 17:45:25 »
получить нужно где в каких фаилах это слово встречается и какой путь до фаилов.

Rak сразу же выводит имя файла(ов) и вытаскивает чуть чуть содержания до и после с нумерацией строк, и еще подсвечивает в тексте искомую комбинацию. И с кририллицей работает "из коробки". Попробуй хоть.
« Последнее редактирование: 12 Августа 2008, 17:49:40 от vrybas »

Оффлайн ddr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #9 : 13 Августа 2008, 08:49:36 »
я бы поставил её, но в моем репозитарии её нету, скинь ссылку где deb пакет скачать можно

Оффлайн vrybas

  • Активист
  • *
  • Сообщений: 505
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #10 : 13 Августа 2008, 11:35:18 »
я бы поставил её, но в моем репозитарии её нету, скинь ссылку где deb пакет скачать можно

репозиторий у всех один  :) :) :)

Проверяй свой /etc/apt/sources.list

Можешь забекапить свой sources.list и поместить туда только эти репозитории

deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy multiverse universe
deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates restricted main multiverse universe
deb http://archive.ubuntu.com/ubuntu/ hardy universe main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.ubuntu.com/ubuntu/ hardy-security restricted main multiverse universe
deb http://archive.ubuntu.com/ubuntu/ hardy-security universe main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy-security multiverse

Потом обнови список пакетов

$ sudo apt-get update

и попробуй заинсталить еще раз. Просто если даже Ruby у тебя в репозиториях нет, то что там вобще тогда есть? Это же не какая то левая аська а такая фундаментальная тык скыть вещь.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: поиск слова в документах
« Ответ #11 : 13 Августа 2008, 12:12:05 »
Качай google-desktop, он тебе весь диск проиндексирует :) будешь быстро искать что захочешь прамо как в гугуле :)

 

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