Datei finden

Hallo,
immer wieder kommt es mal vor, dass Dateien -meist Writer- unter einem
falschen Dateinamen in einem falschen Verzeichnis abgelegt wurden.
Gerade habe ich wieder so einen Fall: wir haben zwar ein festgelegten
Benennungsschema, das bei der Suche über den Dateinamen hilft, und auch
eine entsprechende Verzeichnisstruktur, doch wieder einmal liegt ein
Schreiben in Papierform vor, lässt sich aber über diese Wege nicht in
elektrischer Form wiederfinden.

Gibt es eine Möglichkeit (hier: unter Linux), die Datei anhand ihres
Inhalts, etwa nach Schlüsselwörtern, zu finden? Da in den Jahren
zigtausende Dateien zusammengekommen sind, müsste das einigermaßen
automatisiert unterstützt erfolgen -gibt es da Möglichkeiten?

Hallo,

das klingt nach einem Einsatzfeld des Linux-Standardtools "find".
Leider ist es in der Syntax etwas sperrig und bedarf einer gewissen Einarbeitungszeit. Dafür aber ist das Tool sehr leistungsfähig (Suche nach Namen, Inhalt, Änderungsdatum, Größe etc., auch kombiniert, die Suchtiefe (x Unterverzeichnisse) ist einstellbar und das Tool ist gut zu skripten).
Allerdings sind LO-Dateien soweit ich weiss intern gezipt, so dass die Suche nach Inhalten so einfach nicht möglich ist.

Viel Erfolg
M

Wenn die 'Dokumenteigenschaften' ausgefüllt sind:

man find
man grep

# find <Startverzeichnis> -type f -iname "*.odt" -exec grep -li
"<Suchstring>" {} \;

Bernd

Hallo Boris,

Gibt es eine Möglichkeit (hier: unter Linux), die Datei anhand ihres
Inhalts, etwa nach Schlüsselwörtern, zu finden? Da in den Jahren
zigtausende Dateien zusammengekommen sind, müsste das einigermaßen
automatisiert unterstützt erfolgen -gibt es da Möglichkeiten?

Guck dir mal dies an: https://mechtilde.de/Loook/

Mit freundlichen Grüßen
Regina

Hi!

Hallo,
immer wieder kommt es mal vor, dass Dateien -meist Writer- unter einem
falschen Dateinamen in einem falschen Verzeichnis abgelegt wurden.
Gerade habe ich wieder so einen Fall: wir haben zwar ein festgelegten
Benennungsschema, das bei der Suche über den Dateinamen hilft, und auch
eine entsprechende Verzeichnisstruktur, doch wieder einmal liegt ein
Schreiben in Papierform vor, lässt sich aber über diese Wege nicht in
elektrischer Form wiederfinden.

Gibt es eine Möglichkeit (hier: unter Linux), die Datei anhand ihres
Inhalts, etwa nach Schlüsselwörtern, zu finden? Da in den Jahren
zigtausende Dateien zusammengekommen sind, müsste das einigermaßen
automatisiert unterstützt erfolgen -gibt es da Möglichkeiten?

Der Linux KDE Desktop kann das out-of-the-box (wenn man die Indizierung
mit Inhaltssuche aktiv hat). Die Suche umfasst dabei auch Inhalte von
ODT Dateien (aber auch Text, PDF, ...)

Man kann den Suchbegriff dann im Suchfeld im KDE Menü eingeben und
erhält eine Liste der passenden Dateien. Mit einem Mausklick ist die
Datei dann geöffnet. Das ist sehr bequem.

KDE pflegt den Index automatisch im Hintergrund.
Der Index kann aber recht groß werden (ich habe hier z.B. einen Index
mit einer Größe von knapp 2GB für knapp 300000 Dateien)

HTH

- andreas

Cool, das ist sogar im Main-Repo von Leap 15.2 :slight_smile:

Bernd

Hallo,

recoll dürfte das sein, was Du suchst:

"Toolbox: Desktop-Suche mit Recoll", https://heise.de/-1715658

Der Artikel ist zwar 8 Jahre alt, das Tool ist stetig weiter gepflegt
worden, also aktuell und funktioniert sehr gut.

Original-Quellen:

https://www.lesbonscomptes.com/recoll/index.html

https://www.lesbonscomptes.com/recoll/usermanual/usermanual.html#RCL.INSTALL

https://framagit.org/medoc92/recoll

Viele Grüße,

Hallo,

Hallo Boris,

Gibt es eine Möglichkeit (hier: unter Linux), die Datei anhand
ihres Inhalts, etwa nach Schlüsselwörtern, zu finden? Da in den
Jahren zigtausende Dateien zusammengekommen sind, müsste das
einigermaßen automatisiert unterstützt erfolgen -gibt es da
Möglichkeiten?

Guck dir mal dies an: https://mechtilde.de/Loook/

Cool, das ist sogar im Main-Repo von Leap 15.2 :slight_smile:

Danke, das habe ich gefunden und mich gefreut -aber wohl etwas zu früh,
denn das Paket scheint nicht alle Abhängigkeiten zu listen. Jedenfalls
musste ich erst mit

sudo zypper install python38-tk

das Fehlende samt dessen Abhängigkeiten nachinstallieren.
Ungewohnterweise wurde ein Reboot verlangt, doch der Start über das
Programm-Icon brachte nur eine Fehlermeldung auf den Schirm:

Error!
Bad package! No
loook-0.8.6.mo file
found!
[OK]

Der Start von der Kommandozeile bringt ein leeres Fenster auf den
Schirm, begleitet von der Ausgabe im Terminal:

~> loook --help
Traceback (most recent call last):
  File "/usr/local/bin/loook", line 572, in <module>
    g = TranslationIntegration(loookversion)
  File "/usr/local/bin/loook", line 510, in __init__
    messagebox.showerror('Error!', serror)
  File "/usr/lib64/python3.8/tkinter/messagebox.py", line 94, in showerror
    return _show(title, message, ERROR, OK, **options)
  File "/usr/lib64/python3.8/tkinter/messagebox.py", line 72, in _show
    res = Message(**options).show()
  File "/usr/lib64/python3.8/tkinter/commondialog.py", line 44, in show
    s = w.tk.call(self.command, *w._options(self.options))
_tkinter.TclError: can't invoke "grab" command: application has been destroyed

Gibt es dazu eine kurze Lösung, die den Rahmen dieser Mailingliste nicht
überstrapaziert?

Hallo,

Der Linux KDE Desktop kann das out-of-the-box (wenn man die Indizierung
mit Inhaltssuche aktiv hat). Die Suche umfasst dabei auch Inhalte von
ODT Dateien (aber auch Text, PDF, ...)

da würde ich vermuten, dass das nur mit Dateien funktioniert, die man
schon einmal selbst geöffnet hatte, nicht jedoch mit Dateien, die jemand
anderes Erstellt hatte -ist das so?

Hallo,

Hallo,

Der Linux KDE Desktop kann das out-of-the-box (wenn man die
Indizierung
mit Inhaltssuche aktiv hat). Die Suche umfasst dabei auch Inhalte von
ODT Dateien (aber auch Text, PDF, ...)

da würde ich vermuten, dass das nur mit Dateien funktioniert, die man
schon einmal selbst geöffnet hatte, nicht jedoch mit Dateien, die
jemand
anderes Erstellt hatte -ist das so?

Du hattest nicht geschrieben, dass Du die KDE nutzt. Klar: Das gehört
zum Lieferumfang von KDE und das Indexierungsprogramm heißt baloo.

Warum soll das so sein? Es funktioniert natürlich nur, wenn das
Verzeichnis hinterlegt ist:

krunner -> baloo
oder
Einstellungen -> Suchen -> Dateisuche

Dann kannst Du Ordner angeben die indiziert werden sollen und darin dann
wieder ausnahmen definieren, wenn Teilbäume nicht indiziert werden sollen.

Grüße

Hi!

Hallo,

Der Linux KDE Desktop kann das out-of-the-box (wenn man die Indizierung
mit Inhaltssuche aktiv hat). Die Suche umfasst dabei auch Inhalte von
ODT Dateien (aber auch Text, PDF, ...)

da würde ich vermuten, dass das nur mit Dateien funktioniert, die man
schon einmal selbst geöffnet hatte, nicht jedoch mit Dateien, die jemand
anderes Erstellt hatte -ist das so?

Der Indexer läuft im Hintergund unter der ID des am Desktop angemeldeten
Benutzers und indiziert alle Dateien, auf die der Benutzer Zugriff hat.
Es ist nicht notwendig, die Dateien vorher zu öffnen!

Damit sind auch Dateien auf einem Fileserver indizier- und suchbar, die
jemand anderer angelegt hat, sofern der suchende User Leserechte darauf hat
(z.B. über NFS). Allerdings sollte man in einer größeren Umgebung die durch
den Indexer ausgelöste Last am Fileserver im Auge behalten.

Der Indexer ist über das UI (in gewissen Grenzen) und über das
Config-File (umfangreicher) konfigurierbar (Include/Exclude-Muster).

HTH

- andreas

Hallo,

recoll dürfte Dich auch interessieren:

"Toolbox: Desktop-Suche mit Recoll", https://heise.de/-1715658

Der Artikel ist zwar 8 Jahre alt, das Tool ist stetig weiter gepflegt
worden, ist also aktuell und funktioniert sehr gut und in den üblichen
Distributionen i.d.R. über die Repositories installierbar.

Original-Quellen:

https://www.lesbonscomptes.com/recoll/index.html

https://www.lesbonscomptes.com/recoll/usermanual/usermanual.html#RCL.INSTALL

https://framagit.org/medoc92/recoll

Grüße,

Hallo,

Hallo Boris,

Gibt es eine Möglichkeit (hier: unter Linux), die Datei anhand
ihres Inhalts, etwa nach Schlüsselwörtern, zu finden? Da in den
Jahren zigtausende Dateien zusammengekommen sind, müsste das
einigermaßen automatisiert unterstützt erfolgen -gibt es da
Möglichkeiten?

Guck dir mal dies an: https://mechtilde.de/Loook/

Cool, das ist sogar im Main-Repo von Leap 15.2 :slight_smile:

Danke, das habe ich gefunden und mich gefreut -aber wohl etwas zu früh,
denn das Paket scheint nicht alle Abhängigkeiten zu listen. Jedenfalls
musste ich erst mit

sudo zypper install python38-tk

das Fehlende samt dessen Abhängigkeiten nachinstallieren.
Ungewohnterweise wurde ein Reboot verlangt, doch der Start über das
Programm-Icon brachte nur eine Fehlermeldung auf den Schirm:

Error!
Bad package! No
loook-0.8.6.mo file
found!
[OK]

(...)

Gibt es dazu eine kurze Lösung, die den Rahmen dieser Mailingliste nicht
überstrapaziert?

Wahrscheinlich nicht :wink:
Hier (Leap 15.2) klappt die Installation und der Betrieb problemlos.

Prüfe mal deine Repos und deren Prioritäten.
# zypper l -sp

Bernd

Das funktioniert bei mir nicht:

- Was sind "Dokumenteigenschaften"?
Sind das die Datei-Eigenschaften unter "Datei - Eigenschaften"?
- In eine Datei Test.odt habe ich unter Datei - Eigenschaften im Reiter
"Beschreibung" in Titel und in Betreff "Rumpelstilzchen" eingetragen.
- Dann habe ich den Befehl "find ... "Rumpelstilzchen" {} \;" abgesetzt
(sogar auch als Root, obwohl ich nicht verstehe, warum das notwendig
sein soll).

Der Befehl endet bei mir ohne Ergebnis.

Was mache ich falsch?
Kann grep überhaupt odt-Dateien durchsuchen?

Guido Dischinger

Hallo!

- In eine Datei Test.odt habe ich unter Datei - Eigenschaften im Reiter
"Beschreibung" in Titel und in Betreff "Rumpelstilzchen" eingetragen.
- Dann habe ich den Befehl "find ... "Rumpelstilzchen" {} \;" abgesetzt
(sogar auch als Root, obwohl ich nicht verstehe, warum das notwendig
sein soll).

Der Befehl endet bei mir ohne Ergebnis.

odt-files sind eigentlich zip-files. Wenn du diese direkt
durchsuchen willst, musst du

zgrep

nehmen.

Deine ganze Befehlszeile könnte dann so aussehen:

find . -name \*.odt -exec zgrep "Rumpelstilzchen" {} \;

Viel Erfolg!
Peter

Hallo!

Nach meinen nur rudimentären Shellkenntnissen müsste die Befehlszeile
eigentlich funktionieren. Tut sie aber nicht.

Daraufhin habe ich eine Datei test.odt in LibreOffice angelegt und
sowohl in den Text als auch in die Datei-Eigenschaften unter Titel
jeweils "Rumpelstilzchen" geschrieben.

$ zgrep "Rumpel" test.odt

zeigt gar nichts bzw. kommentarlos den nächsten Prompt.

Wenn ich mit einem Texteditor eine Datei test.txt anlege, dort
"Rumpelstilzchen" reinschreibe und

$ grep "Rumpel" test.txt

oder

$ zgrep "Rumpel" test.txt

eingebe, erhalte ich eine Ausgabezeile

  Rumpel

Auch

$ find . -name \*.txt -exec zgrep "Rumpel" {} \;

liefert

  Rumpel

Warum funktioniert das nicht mit der LibreOffice-Datei?

Kann zgrep wirklich odt-Dateien durchsuchen?

Viele Grüße

Guido Dischinger

Hallo!

Warum funktioniert das nicht mit der LibreOffice-Datei?

Kann zgrep wirklich odt-Dateien durchsuchen?

Im Prinzip ja, aber wahrscheinlich sind odt-files auch
verschlüsselt (?). Vermutlich hilft nur, die files in einem
temporären Verzeichnis zu entpacken und dieses zu
durchsuchen.

Welches Betriebssystem nutzt du? Unter Linux gibt es z. B.
loook, das kann odt durchsuchen.

Viele Grüße
Peter

Hallo,
das Problem ist das Durchsuchen der Dateieigenschaften.
Unter Linux gibt es das Programm unoconv, damit geht es über
einen kleinen Umweg:

unoconv -f html --stdout file.odt | grep Suchtext

Damit sind auch die Dateieigenschaften durchsuchbar.

Als script vielleicht so (ungetestet!)

find . -name \*.odt -exec unoconv -f html --stdout {} \; | grep Suchmuster

Viel Erfolg!
Peter

Nochmals ich ...

find . -name \*.odt -exec unoconv -f html --stdout {} \; | grep Suchmuster

Vielleicht geht das schneller:

find . -name \*.odt -print0 | xargs -0 unoconv -f html --stdout | grep Suchmuster

cu
Peter

Hallo *,

ich habe das gerade einmal unter KDE in OpenSUSE 15.1 probiert. Ich ging
fest davon aus, dass Dolphin das finden müsste, weil bei den
Informationen zu dem Dokument genau die Begriffe auftauchen, die ich als
Titel und als Schlüsselwörter angegeben habe. Nur findet die interne
Suchfunktion dieses Dokument nicht. Vielleicht müsste ich dafür ja den
gefürchteten Indexer laufen lassen. Und genau diese Form der Dateisuche
habe ich in den Einstellungen von KDE deaktiviert.

Gruß

Robert