Software für die Textsuche in Dateien

Antworten:

19

Es gibt eine sehr schöne, die mit Ubuntu ausgeliefert wird.

  1. Öffne das Dash ( SuperTaste oder die Ubuntu-Schaltfläche) und beginne zu tippen, bis du findestSearch for Files

    Bildbeschreibung hier eingeben

  2. Das Obige gilt für Unity, die Standard-Desktop-Umgebung in Ubuntu. Gehen Sie in menügesteuerten Umgebungen zu Applications-> Accessories->Search for Files

    Bildbeschreibung hier eingeben

  3. Erweitern Sie den Select more optionsAbschnitt und geben Sie den zu suchenden Text in das Contains the text:Eingabefeld ein.

    Bildbeschreibung hier eingeben

Eigenschaften:

  • 100% GUI
  • Sie können nach Dateinamen oder Inhalten suchen
  • Es wird in Unterordnern gesucht.

In Anbetracht Ihres Szenarios (keine Terminalbefehle, einfach zu bedienende Oberfläche) gibt es meiner Meinung nach keine bessere Option.

PS: im Contains the text:Eingabefeld das '.' Zeichen ist ein Platzhalter. Um dem zu entkommen, musst du '[]' benutzen. Beispiel: Contains the text: [.]myFunctionGeben Sie ein, um nach .myFunction zu suchen

MestreLion
quelle
yup, ich habe nicht gesehen, ich könnte Details hinzufügen
Santosh Linkha
1
Ja, Sie können ... einfach auf "Weitere Optionen auswählen" klicken und Sie können nicht nur "Enthält den Text", sondern auch jede Menge andere Suchoptionen (Datum, Benutzer, Dateigröße, sogar reguläre Ausdrücke) auswählen. Ich habe dieses kleine Biest auch lange vermisst ... ich wünschte, es wäre in Nautilus integriert (ein bisschen wie F3 im Windows Explorer)
MestreLion
Dies ist das gleiche, wie ich zuvor geraten habegnome-search-tool
Mikl
@ Octavian: Danke für die Screenshots!
MestreLion
@Mikl: Es ist dasselbe Ergebnis, der Unterschied liegt in der Vorgehensweise beim Aufrufen: Ihre ursprüngliche Lösung konzentrierte sich auf den Befehlszeilenaufruf (oder ALT + F2) und erwähnte nur kurz, dass sie auch im Menü zu finden war. Habe nicht gesagt, wo oder wie der Programmname im Menü war. Erst nachdem ich meine Antwort gepostet habe, haben Sie Ihre bearbeitet, um den Menüpfad und den Namen anzugeben. Für Neulinge ist ein menüorientierter Ansatz immer besser als ein CLI-Aufruf. ALT + F2 sollte nur verwendet werden, wenn die Software nicht im Menü verfügbar ist.
MestreLion
11

verwenden

 grep -nr <your text> .

Fügen Sie den zu suchenden Text in das Feld <Ihr Text> ein

wizztjh
quelle
sieht es in Unterordnern aus
Santosh Linkha
experimentx@workmateX:/var/www/testingzedn$ grep -nr application.inidauert ewig ... bin ich falsch
Santosh Linkha
brauche den Punkt. , es wird in den Ordner mit der -r
wizztjh
grep -nr application.ini.
Wizztjh
9

Sie können verwenden

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

-name '*. *' oder '* .txt' (verwende hier die Dateimaske)
'text to find' (platziere den Text, den du hier finden willst)

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

Wenn Sie alle Dateien durchsuchen möchten

Mikl
quelle
Nicht für alle Dateien verwenden, -name '*.*'da Dateien nicht immer eine Erweiterung haben. Verwenden Sie -type fstattdessen (zum Suchen in allen Dateien). Ersetzen {}durch "{}", andernfalls werden Dateinamen mit Leerzeichen nicht korrekt durchsucht.
Lekensteyn
@Lekensteyn Ich habe meinen Beitrag bearbeitet. Aber ich habe einige Tests mit Dateien mit Leerzeichen in Namen und ohne Fehler bei der Verwendung von {} ohne Anführungszeichen durchgeführt.
Mikl
habe es auch getestet und du hast recht, whitespace ist kein problem. In einigen Shells sind die Anführungszeichen möglicherweise noch erforderlich, um die Erweiterung der Shell zu verhindern. From man find: "Diese beiden Strukturen müssen möglicherweise mit einem Escapezeichen (" \ ") versehen oder in Anführungszeichen gesetzt werden, um sie vor der Erweiterung durch die Shell zu schützen."
Lekensteyn
9

GUI-Tool (grafisch):

gnome-search-tool

Sie finden es im Ubuntu-Hauptmenü

Menu -> Accessories -> Search for Files

Oder führen Sie es mit der Tastenkombination ALT + F2 aus

Mikl
quelle
1
Nur ein Update für neuere Ubuntu-Versionen: Klicken Sie auf der Unity-Oberfläche (Ubuntu 12 oder höher) auf Dash Home (das erste Symbol in der Symbolleiste), geben Sie "search" ein und wählen Sie die Anwendung "Search Files".
Josircg
9

Ich bin ein Fan von searchmonkey (GPL, kostenlos, plattformübergreifend, ziemlich ressourcenschonend und sehr schnell).

Bildbeschreibung hier eingeben

Wille.
quelle
Sieht gut aus. Werde es auf anderen Plattformen versuchen, da die Antwort mit den meisten Stimmen meiner Rechnung für Ubuntu entspricht.
Amol Gawai
Scheint, es funktioniert nicht auf 64-Bit-Betriebssystemen (ich hatte das Problem auf Win 7 64-Bit). Dies ist für mich ein Deal Breaker, da ich überall 64-Bit-Betriebssysteme verwende. Sah jedoch vielversprechend aus.
Amol Gawai
@AmolGawai arbeitet perfekt bei Ubuntu 64bit hier ...
Aquarius Power
4

Mit Regexxer können Sie Text in Dateien suchen. Nicht sicher, was Sie mit "in Ordnern" meinen.

Geben Sie hier die Beschreibung des Links ein

Uvasal
quelle
3

Grafische Suche:

in Kubuntu Dolphin öffnen, dann Bearbeiten-> Suchen (Strg + F)

ändere den Dateinamen auf Inhalt und passe an, wo gesucht werden soll.

Osis
quelle
2

Recoll indiziert und Sie können Dokumente und E-Mails im Volltext durchsuchen.

Dustin
quelle
Das Durchsuchen von 50.000 Ordnern ist mühsam: D Wenn Sie die Daten nicht indizieren und keine SSD-Festplatte kaufen können, installieren Sie ein Indizierungswerkzeug, bevor Sie Zeit mit der Suche nach Dateien verschwenden. Mach den Job einmal. Auch wenn es keine Antwort auf die aktuelle Frage gibt, ist dies eine gute Sichtweise.
m3nda
1

Ich habe drei der Vorschläge hier mit 64-Bit-16.04-Kubuntu verglichen:

  1. Searchmonkey funktioniert heutzutage mit 64-Bit-Ubuntu. Es ist ähnlich wie bei regexxer. Es erschien schnell, ist aber natürlich viel langsamer als eine indexbasierte Suche.
  2. Nach Dateien suchen und Alt-F2 funktionieren nicht mit der KDE-Ubuntu-Version.
  3. Meine Empfehlung ist Recoll und ich habe einige Installationsanweisungen hinzugefügt. Für mich unterstützt die Standardinstallation PDF (dies testen!), DOCX, TAR, ZIP usw.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. Die erste Zeile ist wahrscheinlich nicht erforderlich: Sie fügt das Partnerinstallations-Repository hinzu.

  5. Antiword ist optional. Es wird benötigt, um ältere DOC-Dateien zu unterstützen.
  6. Aktivieren Sie bei Bedarf die folgenden symbolischen Links und das Stammverzeichnis unter Recoll Preferencies.
  7. Erstellen Sie einen Cron-Job für die Recoll-Indizierung über die GUI oder starten Sie ihn bei jedem Login.
  8. Ändern Sie die Einstellung Recoll in den Einstellungen von Englisch in Alle Sprachen, falls dies für Sie angemessen ist.
  9. Indizierung starten, zumindest für mich war es überraschend schnell und verbrauchte nicht alle Ressourcen, so dass ich den Laptop weiter benutzen konnte.
  10. Ich habe bisher einen Fehler in Recoll gefunden: Wenn Sie mit "PST" nach einem Dateinamen suchen, wird dieser nicht gefunden, obwohl er in Großbuchstaben geschrieben ist. "pst" funktioniert und findet sowohl Groß- als auch Kleinbuchstaben.
  11. Weitere Informationen zu recoll finden Sie unter https://www.lesbonscomptes.com/recoll/features.html

Wenn Sie Unterstützung für Outlook PST-Dateien hinzufügen möchten, müssen Sie auch Folgendes ausführen.

    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. Ändern Sie im Befehl find das Stammverzeichnis von ~ in /, falls erforderlich.
  2. Mein Suchskript enthält einen Fehler: Es erstellt jetzt eine zu lange Verzeichnisstruktur. Es war für mich jedoch einfacher, die temporäre Datei manuell zu ändern, als eine Lösung dafür zu finden. Hauptziel war, dass dies für mehrere PST-Dateien funktioniert und dies auch.
  3. Weitere Informationen zu Readpst finden Sie unter http://www.five-ten-sg.com/libpst/rn01re01.html und https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /
Timo Riikonen
quelle
0

Ich möchte wirklich ein Tool vorstellen, das auf der ncurses-Bibliothek basiert, um die textbasierte Benutzeroberfläche bereitzustellen. Das Tool mit dem Namen NCGREP (grep based on ncurses) dient hauptsächlich der Suche nach Text in einem bestimmten Ordner. Hoffe das ist was du willst. Diese Quelle des Tools wurde auf github.com gehostet. Weitere Informationen finden Sie unter https://github.com/ncgrep/ncgrep

Bildbeschreibung hier eingeben
Klicken Sie auf das Bild, um die Demo-Animation zu sehen

GenialX
quelle