Jak znaleźć pełne pliki tekstowe w lekkich dystrybucjach systemu Linux

Jak przypuszczam, niektórzy z was wiedzą, KDE zawiera Nepomuka, który między innymi pozwala nam bardzo łatwo wyszukiwać pliki lub programy. Po prostu zacznij wpisywać imię i wyjdą. Coś podobnego dzieje się w Unity lub GNOME. Dokonując pewnych poprawek, niektóre z nich pozwalają nawet na przeszukiwanie plików (co w języku angielskim nazywa się „wyszukiwaniem pełnotekstowym”). Ci, którzy kiedykolwiek korzystali z Windows 7, również wiedzą, o czym mówię: po prostu zacznij pisać słowo, a pojawią się powiązane pliki lub programy.

W lżejszych dystrybucjach jest to nieco trudniejsze do osiągnięcia. Ale metoda, której cię nauczę, jest BARDZO lekka (według tego typu dystrybucji) i skuteczna.

Wybierz launcher: dmenu

Moim pierwszym wyborem było wypróbowanie programów uruchamiających, które nie zależą od konkretnego środowiska lub dystrybucji. Mam na myśli Synapsę (która jest teraz w modzie), Gnome-Do, Kupfer itp. Wszystkie mają jedną wspólną cechę: nie mogą wyszukiwać „w pełnym tekście” (czyli w plikach). Ponadto zawierają wiele innych wtyczek, które nie wnoszą wiele do mnie. Nie wspominając o tym, że nie są one „minimalistyczne” i wystarczająco lekkie.

Ci, którzy używają Openbox, Enlightenment lub podobnych, prawdopodobnie znają dmenu. Tym, którzy nigdy go nie używali, proponuję odwiedzić to stary post gdzie wyjaśniono jego główne cechy. Krótko mówiąc, jest to ultra-minimalistyczny i super lekki program uruchamiający aplikacje. Ale to nie tylko to, czego nie wiedziałem, to to, że jeśli jest poprawnie skonfigurowany, może być również używany do wyświetlania elementów dowolnej listy, którą do niej przekazujemy. To odkrycie otwiera drzwi do wielu możliwości ...

Aby zainstalować dmenu w Arch, po prostu otwórz terminal i uruchom:

sudo pacman -S dmenu

Zainstaluj Recoll

Drugim odkryciem było Recoll. Nasz przyjaciel Fico rozmawialiśmy o nim kilka miesięcy temu artykuł, którego lekturę polecam.

Recoll to bardzo lekkie narzędzie, niezależne od dowolnego środowiska graficznego, które umożliwia wyszukiwanie w pełnym tekście („pełny tekst”). Oczywiście w tym celu będziesz musiał najpierw zindeksować pliki, co może chwilę potrwać, ale po zakończeniu wstępnego indeksowania reszta aktualizacji nie potrwa długo.

Recoll to interfejs graficzny, łatwy w użyciu i posiadający wiele opcji, zaprojektowany w QT i oparty na wyszukiwarce Xapian.

Czy nadal używasz funkcji zlokalizuj, znajdź lub sum? Ha! Czytałem dalej ...

Aby zainstalować Recoll na Arch i pochodnych:

yaourt -S recoll

Zauważysz, że recoll ma kilka pakietów jako opcjonalne zależności:

  • libxslt: dla formatów opartych na XML (fb2 itp.)
  • unzip: dla dokumentów OpenOffice.org
  • xpdf: dla pdf
  • pstotext: dla postscipt
  • antiword: dla msword
  • catdoc: dla ms excel i powerpoint
  • unrtf: dla formatu RTF
  • untex: do obsługi dvi z dvips
  • djvulibre: dla djvu
  • id3lib: dla obsługi tagów mp3 z id3info
  • python2: do używania niektórych filtrów
  • mutagen: metadane audio
  • python2-pychm: pliki CHM
  • perl-image-exiftool: dane EXIF ​​z plików raw
  • aspell-en: obsługa angielskich pisowni

Zainstalowanie tych pakietów umożliwi Recoll indeksowanie zawartości odpowiednich typów plików. Na przykład, antiword, pozwala Recoll na indeksowanie zawartości plików .DOC itp.

Wybór dodatkowych składników do zainstalowania zależy od potrzeb i różnorodności typów plików przechowywanych na komputerze. Jednak nie rozpaczaj, bo Recoll po zindeksowaniu naszych plików zaleci, które komponenty zainstalować, aby poprawić ich efektywność.

Jak korzystać z Recoll

Gdy uruchomisz Recoll po raz pierwszy, pojawi się poniższy ekran. Jeśli chcesz zindeksować tylko swój DOM (w całości), po prostu kliknij Rozpocznij indeksowanie teraz.

Przypomnij sobie ekran główny

Przypomnij sobie ekran główny

Recoll ma potężne możliwości wyszukiwania. Oprócz wpisywania słów do wyszukiwania, umożliwia również wyszukiwanie logiczne wspomagane klauzulami zbliżenia, filtrowanie typów plików lub lokalizacji. Umożliwia także wyszukiwanie zgodne z Xesam według pól i filtrowanie według daty.

Reakcja programu podczas wyszukiwania i prezentowania wyników jest również zaskakująca ze względu na szybkość i interesujący sposób, w jaki te wyniki prezentują, określając najbardziej trafne dokumenty, dla podanych wyszukiwanych haseł i włączając podgląd.

Na poniższym obrazku zdecydowałem się pokazać wyniki w tabeli, chociaż Recoll ma domyślnie inny styl, aby pokazać wyniki, znacznie bardziej kompletne i opisowe.

Wyniki wyszukiwania w Recoll

Wyniki wyszukiwania w Recoll

Aby zobaczyć brakujące pakiety, aby Recoll mógł przeprowadzić pełne indeksowanie plików, po prostu przejdź do Plik> Pokaż brakujące pomocniki.

Brak dodatkowych komponentów

Brak dodatkowych komponentów

En Preferencje> Harmonogram indeksowania Możesz skonfigurować harmonogram indeksowania plików. Oczywiście, aby Recoll działał dobrze, musi zindeksować wszystkie twoje pliki (lub przynajmniej te w folderze, który cię interesuje, zwykle twój HOME). W tym celu istnieją 3 możliwości: indeksowanie ręczne (moja ulubiona), indeksowanie przez cron lub indeksowanie podczas rozruchu systemu.

Programowanie indeksowania w Recoll

Programowanie indeksowania w Recoll

Magic: połączenie Recoll i dmenu… czy to możliwe?

Tak tak to jest. Rzecz w tym, żeby wiedzieć, że dmenu nie tylko pozwala na wylistowanie aplikacji, ale także wszystkiego, co do niego przekażemy. Musisz tylko dowiedzieć się, jak wyszukać Recoll za pomocą terminala i przekazać wyniki do dmenu.

Magię osiąga się, jak mogłoby być inaczej, poprzez proste scenariusz, którego autorem jest Massimo Lauria i odważyłem się nieco zmodyfikować, aby przetłumaczyć go na język hiszpański.

Pobierz skrypt

Zapisz plik (powiedzmy, search-recoll.sh). Nadaj mu uprawnienia do wykonywania (sudo chmod + to fetch-recoll.sh) i przypisz mu odpowiednią kombinację klawiszy. W Openbox osiąga się to poprzez edycję pliku ~ / .config / openbox / rc.xml lub poprzez interfejs graficzny skorumpowany.

Wynik końcowy: wyszukiwanie pełnotekstowe przy użyciu bardzo niewielu zasobów. Jak powiedziałby Bambino Veira: „Piękno!”

dmenu podczas wprowadzania wyszukiwanego tekstu

dmenu podczas wprowadzania wyszukiwanego tekstu

dmenu, pokazując wyniki zwrócone przez recoll

dmenu, pokazując wyniki zwrócone przez recoll

tak

Osoby korzystające z Ubuntu mogą uzyskać podobne wyniki dzięki Obiektywowi Recoll. Aby to zrobić, konieczne jest dodanie odpowiedniego PPA i zainstalowanie następujących pakietów:

sudo add-apt-repository ppa: recoll-backports / recoll-1.15-on sudo apt-get update sudo apt-get install recoll sudo apt-get install recoll-lens

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   pełen życia powiedział

    Po prostu świetny U_U

  2.   użyjmy Linuksa powiedział

    Zgadza się… 🙂 I jest DUŻO szybszy i lżejszy niż twoje ukochane KDE… haha!

    1.    pełen życia powiedział

      Może tak, ale nie zmieniam mojej zintegrowanej wyszukiwarki Dolphin na nic. 😉

      1.    użyjmy Linuksa powiedział

        Ach ... tak ... Delfin to coś innego ... główne słowa.

  3.   AlonsoSanti14 powiedział

    iw gnome, jak to skonfigurować, aby robił to, co mówisz, „wyszukiwanie pełnotekstowe”?
    Mam nadzieję, że możesz mi pomóc, skoro chciałbym mieć możliwość wyszukiwania dokumentów w ten sposób.

    1.    użyjmy Linuksa powiedział

      Nie używam GNOME, ale jeśli dobrze pamiętam, zawiera narzędzie o nazwie Tracker, które służy do wyszukiwania pełnotekstowego.
      Twoje zdrowie! Paweł.

      1.    AlonsoSanti14 powiedział

        ok dzięki, teraz szukam informacji o Trackerze.

  4.   gonzalezmd (# Bik'it Bolom #) powiedział

    Warto znać te rozwiązania. Dziękuję Ci.

    1.    użyjmy Linuksa powiedział

      Tobie za komentarz. 😉

  5.   maksym89 powiedział

    W moim przypadku wiem coś bardzo prostego, co jest we wszystkich dystrybucjach ... jest to «updatedb», a następnie użyj «locate file», jest to bardzo łatwe i bardzo lekkie ajaaja

    1.    Eliotime3000 powiedział

      Tak, ale czasami pokonanie długiej drogi jest fajne.

    2.    użyjmy Linuksa powiedział

      To nie jest poprawne. Dzięki locate i updatedb nie jest możliwe przeszukiwanie pełnego tekstu.
      Twoje zdrowie! Paweł

  6.   Gonza_212 powiedział

    Bardzo dobry post, ciekawe informacje ... Testuję to.
    Wchodzę na stronę, aby pobrać skrypt, który zostawiłeś jako ostatni, ale pojawia się błąd, byłbym wdzięczny, gdybyś mógł przesłać go ponownie.

    Dziękuję bardzo, pozdrawiam!

    🙂

    1.    użyjmy Linuksa powiedział

      To dobrze działa. Spróbuj ponownie ...

      1.    Gonza_212 powiedział

        Dziękuję bardzo, teraz mogę to pobrać.

        Pozdrowienia!

        🙂

  7.   Gonza_212 powiedział

    Przepraszam, ale wypróbowałem to na moim komputerze i nie działa. Mam ArchLinux z menadżerem PekWM (bez środowiska graficznego)… ale wygląda na to, że skrypt nie działa. Ktoś mógłby mi pomóc?

    Dziękuję bardzo, pozdrawiam!

  8.   użyjmy Linuksa powiedział

    Czy mógłbyś trochę lepiej określić, co nie działa w Twoim przypadku?

    1.    Gonza_212 powiedział

      Prawda jest taka, że ​​nie wiem, czy będzie działać ... w menedżerze PekWM jest plik o nazwie «keys» (znajdujący się w katalogu /home/usuario/.pekwm/), w którym znajdują się skróty klawiszowe (lub skróty klawiaturowe) są skonfigurowane, więc przypisałem skrypt do kombinacji Ctrl + F, ale nie wiem, czy składnia polecenia do wykonania będzie poprawna.

      Pokażę ci, jak napisano wiersz odpowiadający tej kombinacji klawiszy:

      KeyPress = "Ctrl F" {Actions = "Exec` sh search-recoll.sh`"}

      uwaga: skrypt search-recoll.sh znajduje się w moim domu, czyli w / home / myuser /

      Ale po naciśnięciu Ctrl + F nic się nie dzieje ... Próbowałem zmodyfikować linię tak, aby wykonywała dmenu zamiast skryptu i działa.

      Kolejną rzeczą, którą zrobiłem, było uruchomienie wspomnianego skryptu w terminalu, a kiedy to zrobiłem, pokazał mi:

      $ sh search-recoll.sh
      search-recoll.sh: line 39: błąd składniowy, nie oczekiwano końca pliku

  9.   Gonza_212 powiedział

    Przepraszamy za niedogodności, problem został już rozwiązany. Zdarzyło się, że ściągnąłem skrypt z wklejki iw ten sposób pojawił się problem z kodowaniem, którego używa. Dlatego należy skopiować całą zawartość i wkleić ją do pustego pliku, aby nie generowała tej niedogodności.

    Tysiąc przeprosin, w każdym razie bardzo dziękuję.

    Pozdrowienia!