Oprogramowanie do wyszukiwania tekstu w plikach

Odpowiedzi:

19

Jest bardzo fajny, który jest dostarczany z Ubuntu po wyjęciu z pudełka.

  1. Otwórz Dash ( Superklawisz lub przycisk Ubuntu) i zacznij pisać, aż znajdzieszSearch for Files

    wprowadź opis zdjęcia tutaj

  2. Powyższe dotyczy Unity, domyślnego środowiska pulpitu w Ubuntu. W środowiskach opartych na menu przejdź do Applications-> Accessories->Search for Files

    wprowadź opis zdjęcia tutaj

  3. Rozwiń Select more optionssekcję i wprowadź szukany tekst w Contains the text:polu wprowadzania.

    wprowadź opis zdjęcia tutaj

Cechy:

  • 100% GUI
  • Możesz wyszukiwać nazwy plików lub zawartość
  • Wygląda w podfolderach.

Biorąc pod uwagę twój scenariusz (brak poleceń terminala, prosty w obsłudze interfejs), myślę, że nie ma lepszej opcji.

PS: w polu Contains the text:wejściowym „.” znak jest symbolem wieloznacznym. Aby tego uniknąć, musisz użyć „[]”. Np .: wpisz, Contains the text: [.]myFunctionaby wyszukać .myFunction

MestreLion
źródło
tak, nie widziałem, że mogę dodać szczegóły
Santosh Linkha
1
tak, możesz ... po prostu kliknij „wybierz więcej opcji” i możesz mieć nie tylko „Zawiera tekst”, ale także mnóstwo innych opcji wyszukiwania (data, użytkownik, rozmiar pliku, a nawet wyrażenia regularne). Długo też tęskniłem za tą małą bestią ... szkoda, że ​​nie została zintegrowana z Nautilusem (trochę jak F3 w Windows Explorerze)
MestreLion
to jest to samo, co wcześniej doradzałemgnome-search-tool
Mikl
@Octavian: Dziękujemy za udostępnienie zrzutów ekranu!
MestreLion
@Mikl: to ten sam wynik, różnica polega na podejściu do sposobu jego wywołania: twoje początkowe rozwiązanie koncentrowało się na wywołaniu z wiersza poleceń (lub ALT + F2) i tylko krótko wspomniałem, że można je również znaleźć w menu. Nie powiedziałem gdzie ani jaka była nazwa programu w menu. Dopiero po opublikowaniu mojej odpowiedzi dokonałeś edycji swojej, aby podać ścieżkę menu i nazwę. Dla początkujących podejście zorientowane na menu jest zawsze lepsze niż wywołanie CLI. ALT + F2 powinien być używany tylko wtedy, gdy oprogramowanie nie jest dostępne w menu.
MestreLion
11

posługiwać się

 grep -nr <your text> .

umieść tekst, który chcesz znaleźć, w <swoim tekście>

wizztjh
źródło
czy to wygląda w podfolderach
Santosh Linkha
experimentx@workmateX:/var/www/testingzedn$ grep -nr application.initrwa wiecznie ... czy jestem w błędzie
Santosh Linkha
potrzebuję kropki. , zajrzy do folderu z
opcją
grep -nr application.ini.
wizztjh
9

możesz użyć

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-name „*. *” lub „* .txt” (tutaj użyj maski pliku)
„text to find” (umieść tutaj tekst, który chcesz znaleźć)

find . -type f -exec grep -Hn 'text to find' '{}' \;

jeśli chcesz przeszukać wszystkie pliki

Mikl
źródło
Nie należy używać wszystkich plików, -name '*.*'ponieważ pliki nie zawsze mają rozszerzenie. -type fZamiast tego użyj (do wyszukiwania we wszystkich plikach). Zamień {}na "{}", w przeciwnym razie nazwy plików z białymi znakami nie zostaną poprawnie wyszukane.
Lekensteyn
@Lekensteyn Zredagowałem mój post. ale wykonałem test z plikami z białymi spacjami w nazwach i bez błędów przy użyciu {} bez cudzysłowów.
Mikl
właśnie to przetestowałem i masz rację, białe znaki nie stanowią problemu. W niektórych powłokach cytaty mogą być nadal konieczne, aby zapobiec rozszerzeniu powłoki. From man find: „Obie te konstrukcje mogą wymagać zmiany znaczenia (za pomocą„ \ ”) lub cytowania w celu ochrony ich przed rozszerzeniem przez powłokę.”
Lekensteyn,
9

Narzędzie GUI (graficzne):

gnome-search-tool

można go znaleźć w menu głównym Ubuntu

Menu -> Accessories -> Search for Files

lub uruchom go za pomocą skrótu ALT + F2

Mikl
źródło
1
Tylko aktualizacja dla nowszych wersji Ubuntu: w interfejsie Unity (Ubuntu 12 lub nowszy) kliknij Dash Home (pierwsza ikona na pasku narzędzi), wpisz „szukaj” i wybierz aplikację „Wyszukaj pliki”.
josircg
9

Jestem fanem searchmonkey (GPL, darmowy, wieloplatformowy, dość lekki w zasobach i bardzo szybki).

wprowadź opis zdjęcia tutaj

Wola.
źródło
Wygląda dobrze. Spróbuje na innych platformach, ponieważ najlepiej głosowana odpowiedź pasuje do mojego rachunku na Ubuntu.
Amol Gawai
Wygląda na to, że nie działa w 64-bitowych systemach operacyjnych (napotkałem problem na Win 7 64-bitowym). Jest to dla mnie przełomowe, ponieważ wszędzie używam 64-bitowych systemów operacyjnych. Wyglądał obiecująco.
Amol Gawai
@AmolGawai działa idealnie na Ubuntu 64bit tutaj ...
Aquarius Power
4

Regexxer pozwoli ci wyszukiwać tekst w plikach. Nie jestem pewien, co rozumiesz przez „w folderach”.

wprowadź opis linku tutaj

uvasal
źródło
3

Wyszukiwanie graficzne:

w Kubuntu otwórz Dolphin, a następnie Edycja-> Znajdź (Ctrl + F)

zmień nazwę pliku na Treść i dostosuj, gdzie szukać.

Osis
źródło
2

Recoll wykonuje indeksowanie i możesz wyszukiwać dokumenty i wiadomości e-mail w trybie pełnotekstowym.

Dustin
źródło
Przeszukiwanie 50 000 folderów jest uciążliwe: D jeśli nie zaindeksujesz danych, więc jeśli nie możesz kupić dysku SSD, zainstaluj dowolne narzędzie indeksujące, zanim zmarnujesz czas na szukanie plików. Wykonaj pracę raz. Nawet jeśli nie jest odpowiedzią na aktualne pytanie, jest to dobry punkt widzenia.
m3nda
1

Porównałem trzy sugestie tutaj z 64-bitowym Kubuntu 16.04:

  1. Searchmonkey współpracuje obecnie z 64-bitowym Ubuntu. Jest podobny do regexxer. Okazało się to szybko, ale oczywiście jest znacznie wolniejsze niż wyszukiwanie indeksowe.
  2. Wyszukaj pliki i Alt-F2 nie działają z wersją Ubuntu dla KDE.
  3. Moje zalecenie to Recoll i dodałem do niego kilka instrukcji instalacji. Dla mnie domyślna instalacja obsługuje pliki PDF (przetestuj to!), DOCX, TAR, ZIP itp.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. Pierwszy wiersz prawdopodobnie nie jest wymagany: dodaje repozytorium instalacji partnera.

  5. Antiword jest opcjonalny. Jest potrzebny do obsługi starszych plików .doc.
  6. W razie potrzeby włącz następujące linki symboliczne i katalog główny z Recoll Preferencje.
  7. Utwórz zadanie cron do indeksowania Recoll za pomocą GUI lub uruchom je przy każdym logowaniu.
  8. W razie potrzeby zmień ustawienie Przypomnij w preferencjach z angielskiego na Wszystkie języki.
  9. Rozpocznij indeksowanie, przynajmniej dla mnie było zaskakująco szybkie i nie zużywało wszystkich zasobów, więc mogłem kontynuować korzystanie z laptopa.
  10. Znalazłem do tej pory jeden błąd z Recoll: jeśli szukasz nazwy pliku za pomocą „PST”, nie znajdzie go, nawet jeśli jest napisany wielkimi literami. „pst” działa i znajduje zarówno wielkie, jak i małe litery.
  11. Dowiedz się więcej o recoll z https://www.lesbonscomptes.com/recoll/features.html

Jeśli chcesz dodać obsługę plików PST programu Outlook, musisz również wykonać następujące czynności.

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. W razie potrzeby zmień katalog główny z ~ na /, jeśli to konieczne.
  2. Mój skrypt find zawiera błąd: tworzy teraz zbyt długą strukturę katalogów. Ale łatwiej było mi ręcznie zmodyfikować plik tymczasowy niż znaleźć poprawkę. Głównym celem było to, że zadziała to dla kilku plików PST i robi to.
  3. Więcej informacji o Readpst można znaleźć na stronie http://www.five-ten-sg.com/libpst/rn01re01.html i https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /
Timo Riikonen
źródło
0

Naprawdę chcę wprowadzić jedno narzędzie oparte na bibliotece ncurses, które zapewnia tekstowy interfejs użytkownika. Narzędzie o nazwie NCGREP (grep oparte na ncurses) służy głównie do wyszukiwania tekstu w określonym folderze. Mam nadzieję, że tego właśnie chcesz. To źródło narzędzia było hostowane na github.com, zobacz więcej na https://github.com/ncgrep/ncgrep

wprowadź opis zdjęcia tutaj
Kliknij obraz, aby zobaczyć animację demonstracyjną

GenialX
źródło