Автор Тема: Търся програма за търсене в текстови файлове  (Прочетена 11355 пъти)

4i4obengy

  • Напреднали
  • *****
  • Публикации: 185
  • Distribution: Linux Mint
  • Window Manager: KDE
    • Профил
    • WWW
Има ли програма с която да мога да търся по ключова дума в doc файлове. Например като напиша "облак" да ми покаже всички текстови файлове, в които има тази дума.
Активен

PaperNick

  • Напреднали
  • *****
  • Публикации: 295
  • Window Manager: Xfce
    • Профил
Тук намерих нещо, само че работи с конзолата.
Трябва да поставиш съдържанието на скрипта в един sh файл, да отвориш папката в конзолата и да изпълниш скрипта.

Ето как изглежда при мен. В папката има и файл File 1.doc, в който думата cloud не се среща.

Edit:
Код
GeSHi (Bash):
  1. for i in '*.doc'; do
  2. antiword $i | grep WORD && echo Found in $i
  3. done
Малка корекция - сложих единични кавички между *.doc. Това ще прочете правилно файловете ако имат интервали (Business cloud.doc).
« Последна редакция: May 30, 2015, 22:33 от PaperNick »
Активен

Practice

4i4obengy

  • Напреднали
  • *****
  • Публикации: 185
  • Distribution: Linux Mint
  • Window Manager: KDE
    • Профил
    • WWW
Това ми е прекалено сложно. Няма ли направена такава търсачка?
Активен

PaperNick

  • Напреднали
  • *****
  • Публикации: 295
  • Window Manager: Xfce
    • Профил
По принцип, този скрипт може да се напише на zenity - като го цъкнеш да ти излиза едно input поле, в което можеш да му даваш дума и да ти връща в кои файлове се намира.

Аз нямам опит със zenity, който има желание да помага :)
Активен

Practice

Odido

  • Напреднали
  • *****
  • Публикации: 627
  • Distribution: Arch Linux
  • Window Manager: Gnome
    • Профил
Има една програмка казва се docfetcher,само че щом ти е сложно да боравиш със скриптове още ,значи ще ти е трудно да я инсталираш...http://docfetcher.sourceforge.net/en/download.html.Ама пробвай все пак.Всъщност ти си на убунту, като гледам.Би трябвало да я има в репозиторито и на може да я инсталираш със синаптик мениджъра.
« Последна редакция: May 31, 2015, 01:17 от Odido »
Активен

"Congratulations, you broke the Internet
Look at what you did! Are you happy now?"

Naka

  • Напреднали
  • *****
  • Публикации: 3467
    • Профил
Файл менажера на кде - konqueror може да търси и в съдържанието на файловете.  Много често го ползвам да търся стрингове в .php файлове.

Намира се в същото меню find, което е за търсене за обикновенни файлове - а вътре има content. 
« Последна редакция: May 31, 2015, 11:10 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4i4obengy

  • Напреднали
  • *****
  • Публикации: 185
  • Distribution: Linux Mint
  • Window Manager: KDE
    • Профил
    • WWW
Намерих DocFetcher като deb файл, защото го няма в Синаптика и го инсталирах. Уж всичко е наред, появи се иконка в менюто, но програмата не стартира. някакви идеи?
Активен

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Има ли програма с която да мога да търся по ключова дума в doc файлове. Например като напиша "облак" да ми покаже всички текстови файлове, в които има тази дума.
Почти всяка програма за индексиране и търсене - beagle, tracker, nepomuk. Последната е само за KDE.
« Последна редакция: May 31, 2015, 16:33 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

jet

  • Напреднали
  • *****
  • Публикации: 3469
  • Distribution: debian
  • Window Manager: kde
    • Профил
recoll справя се доста добре
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

console

  • Напреднали
  • *****
  • Публикации: 243
    • Профил
    • WWW
find би трябвало да свърши работа.

find -name '*.doc' -exec catdoc {} + | grep "specificword"

« Последна редакция: May 31, 2015, 20:54 от console »
Активен

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail Better.”

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
find би трябвало да свърши работа.

find -name '*.doc' -exec catdoc {} + | grep "specificword"

Как трябва да изглежда командата с ключова дума "облак"?
Замених специфичната дума с желаната от мен, но нещо не върши работа.
« Последна редакция: May 31, 2015, 21:38 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

Odido

  • Напреднали
  • *****
  • Публикации: 627
  • Distribution: Arch Linux
  • Window Manager: Gnome
    • Профил
Намерих DocFetcher като deb файл, защото го няма в Синаптика и го инсталирах. Уж всичко е наред, появи се иконка в менюто, но програмата не стартира. някакви идеи?
Напиши в терминала docfetcher и виж дали тръгва от там
Активен

"Congratulations, you broke the Internet
Look at what you did! Are you happy now?"

console

  • Напреднали
  • *****
  • Публикации: 243
    • Профил
    • WWW
Не го бях тествал извинявай. Иначе работи с малкия проблем че първо трябва да имаш инсталиран catdoc и другия проблем е че невръща файловете в които се намира думата.

Ето решения на цялата задача.

Първо инсталираме catdoc

Ако ползваш debian базираните дистрибуции (ubuntu,debian,kubuntu,xubuntu etc)

sudo apt-get install catdoc

След това ни трябва един малак скрипт които да ни свърши цялата работа и да ни изведе в кои файлове се съдържа ключовата дума.

Код:
#!/bin/bash

echo "Please insert your keyword, followed by [ENTER]:"

read keyword

find -name '*.doc' | while read -r file; do
    catdoc "$file" | grep -H --label="$file" $keyword
done

Копираш този код в един прост фаил примерно "find_word.sh"

След това го правиш изпълним

chmod +x find_word.sh

И последна стъпка стартиране

./find_word.sh

Когато го стартираш на екрана ще ти излезе следното :

Please insert your keyword, followed by [ENTER]:
Пишеш ключовата дума примерно България и даваш ENTER

Резултата е следния :

/Documents/my.doc:България успя да поведе с 9:8 след ас на

Поздрави.
Активен

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail Better.”

4i4obengy

  • Напреднали
  • *****
  • Публикации: 185
  • Distribution: Linux Mint
  • Window Manager: KDE
    • Профил
    • WWW
Инсталирах Recoll, но той търси думи само в pdf файлове, не вижда думите в doc.
А това, което ми обяснявате с терминала ми е прекалено сложно. Нима наистина няма направена такава търсачка?  ???
А пък docfetcher изкарва това:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
   at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
   at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
   at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
   at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
   at net.sourceforge.docfetcher.DocFetcher.<init>(DocFetcher.java:174)
   at net.sourceforge.docfetcher.DocFetcher.main(DocFetcher.java:147)
« Последна редакция: Jun 01, 2015, 09:53 от 4i4obengy »
Активен

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Инсталирах Recoll, но той търси думи само в pdf файлове, не вижда думите в doc.
А това, което ми обяснявате с терминала ми е прекалено сложно. Нима наистина няма направена такава търсачка?  ???
А пък docfetcher изкарва това:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
   at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
   at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
   at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
   at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
   at net.sourceforge.docfetcher.DocFetcher.<init>(DocFetcher.java:174)
   at net.sourceforge.docfetcher.DocFetcher.main(DocFetcher.java:147)

Това е елементарна програма за индексиране и търсене Tracker (tracker-gui):
http://s19.postimg.org/rxgjn4vsj/oblak1.png
Инсталираш tracker-gui и рестартираш компютъра. По подразбиране е зададено търсене в основните потребителски поддиректории. Ако искаш да направиш други настройки, отвори настройките на програмата в подменю настройки.
http://s19.postimg.org/844fufier/search1.png
Търсачката е в подменю "помощни програми/инструменти".
http://s19.postimg.org/5bb8aei2b/search2.png
Отваряш търсачката, пишеш думата, маркираш да търси във файлове и папки и натискаш Enter.
Намира търсеното съдържание в документа за секунда, независимо от името на документа.
Имай предвид, че индексирането отнема ресурси на машината, затова го спирай, когато не ти е необходимо. Най- лесно, можеш да спреш приложението от мениджъра си на задачи - спиране, пауза или убиване на процеса.
« Последна редакция: Jun 01, 2015, 11:07 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png