• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Große Dateimengen sichten und sortieren

Hi,

ich habe in einem Verzeichnis eine größere Anzahl Dateien, die ich gerne nach Kategorien sortieren möchte. Ein Problem ist: Wenn ich im Konqueror dieses Verzeichnis anklicke, dann braucht er ca. 6 Minuten, bis er es eingelesen hat. Ein ls -l auf der Konsole braucht nur wenige Sekunden. Was zum Teufel tut Konqui da in der Zeit!?
Ich verwende einen P4 2.4GHz, 512 MB RAM, Opensuse 10.2.

Wenn das Verzeichnis erstmal eingelesen ist, dann kann ich ohne Verzögerungen darin hoch- und runterscrollen, einzelne Dateien markieren, löschen oder umbenennen. Aber zum Sortieren habe ich früher "Extras" - "Dateien suchen" verwendet, nach einem String gesucht und die Ergebnisse in ein eigenes Unterverzeichnis verschoben. Das dauert nun aber zu lange, weil Konqueror dabei offensichtlich wieder das ganze Verzeichnis neu einliest.

Im Augenblick befinden sich ca. 20.000 pdf-Dateien im Verzeichnis. Klar könnte man das ganze einfach auf der Konsole machen. Mir würde zunächst nur etwas in der Art einfallen:
mkdir programmierung
mkdir java
mkdir pascal
mv *java* ./programmierung/java
mv *pascal* ./programmierung/pascal

Bei irgendeinem Versuch mit Kommandozeilenbefehlen, Wildcards und Pipes hatte ich auch das Problem, dass es nicht funktionierte (sorry, weiß den Befehl nicht mehr, den ich versucht hatte). Mir ist dunkel in Erinnerung, dass die Shell die Wildcards expandiert und diese Dateiliste dann an das nachfolgende Programm übergibt, bei mir war diese Liste wohl zu lang.

Vermutlich könnten Kommandozeilenartisten die Erzeugung der nötigen Unterverzeichnisse und Unter-Unterverzeichnisse höherer Ordnungen quasi nebenbei in Such- und Verschiebebefehle integrieren, ich bekomme das nicht hin. Außerdem erfasst z.B. *java* auch Dateinamen, die gar nichts mit Java zu tun haben, in denen die Zeichenfolge Teil eines anderen Namens ist.

Ich denke, ich bräuchte ein Programm, welches mir mehrere Unterfenster, Spalten o.ä. anzeigt, deren Inhalt auf einer Suchstringeingabe beruht, die sich auf den Inhalt eines anderen Unterfensters/Spalte bezieht.
Dabei sollte man auch einzelne Schritte wieder zurückgehen können, wenn man also z.B. gesucht hat nach 'science', 'physics', 'spectroscopy' und die Treffer nach science/physics/measurements/spectroscopy verschoben hat, dann sollte man wieder zur 'physics'-Liste zurückkommen, um z.B. nach 'spectrometry' zu suchen. Also nicht wieder von vorne 'science', 'physics' eingeben müssen (wie ich es bei meiner alten Methode mit Konqueror getan habe). Schön wäre es natürlich auch, wenn man mehrere Suchbegriffe in einer Suche gleichwertig ('oder-Verknüpfung') vorgeben könnte, also zur Erzeugung der ersten (noch zu verfeinernden) Liste z.B. 'physics', 'physik', 'measuring'.

Es haben aber nicht alle Dateien aussagekräftige Titel, man wird sie sehr oft in KPDF öffnen müssen, um zu sehen, was genau drin ist. Genial wäre ein Programm, welches anhand von KI/Mustererkennung/Heuristiken in der Lage wäre, automatisch in den Dateien den Titel und den Autor des Dokuments zu erkennen, sowie Erscheinungsjahr und Seitenzahl, und diese zusammen in einen neuen Dateinamen einzufügen und die Dateien so noch vor dem Sortieren umzubenennen.


Bei den Bildern meiner Digicam habe ich im Prinzip ähnliche Probleme. Es dürften mittlerweile auch über 30.000 sein. (Wo ist eigentlich bei den Suse-Standardeinstellungen das Maximum für die Anzahl an Dateien, die sich in einem Verzeichnis befinden?)


Irgendwelche Ideen? (Speziell für die PDFs, die Bilder sind weniger dringend.) Seien es nun einfache Lösungen wie z.B. den Konqueror so zu konfigurieren, dass er ohne minutenlange Wartezeiten auskommt, seien es Shell-Befehle oder eben intelligentere Programme, die speziell für die Sichtung und Sortierung größerer Dateimengen gedacht sind.
Oder vielleicht eine Datenbanklösung, bei der die Dateien zunächst alle in einem Verzeichnis bleiben, in der Datenbank kategorisiert werden und sich eine gewünschte Teilmenge mit wenigen Befehlen/Klicks bei Bedarf in ein eigenes Verzeichnis/Datenträger kopieren lässt?


Grüße,
Robert
 
Was zum Teufel tut Konqui da in der Zeit!?

Entweder da ist beagle am werkeln oder konqueror versucht Dir von allen pdf-Dateien eine Bildvorschau zu zeigen.

Kopier doch mal Dein Verzeichnis und probier dort mit den Konsolenbefehlen (mv usw.) rum.

Gruß
 
Beagle ist eh abgeschaltet, Dateivorschau sollte auch deaktiviert sein (Einstellungen - Konqueror einrichten - Vorschauen & Metadaten - Lokale Protokolle File: unchecked), und außerdem verwende ich im Konqueror sowieso immer "Anzeigemodus" - "Detaillierte Ordneransicht" - ich glaube, da werden eh keine Vorschauansichten dargestellt.

Was genau soll ich mit den Befehlen mv & Co denn rumprobieren? Verschieben von Dateigruppen mit gleichem String im Namen funktioniert, aber ich kann vorher nicht die unerwünschten deselektieren, ich erkenne nicht die doppelt und dreifach unter etwas verschiedenen Namen vorhandenen, oder wieviel Platz die Teilmenge braucht.

Grüße,
Robert
 
Re-Mark schrieb:
...
Bei den Bildern meiner Digicam habe ich im Prinzip ähnliche Probleme. Es dürften mittlerweile auch über 30.000 sein. ...

probiere mal http://mediasort.sourceforge.net/

ansonsten:
Reading File Metadata with extract and libextractor
http://www.linuxjournal.com/article/7552

bzw:
http://gnunet.org/doodle/
Doodle sucht schnell in den Dateien auf einem Rechner. Doodle erzeugt mit Hilfe von Meta-Daten aus den Dokumenten einen Index und erlaubt danach das schnelle Suchen in der erzeugten Datenbank. Doodle benutzt libextractor, um Metadaten aus unterschiedlichen Dateiformaten zu extrahieren

damit geht dann sowas:
extract -b ~/dmca.pdf
% BiBTeX file
@misc{ unite2001the_d,
title = "The Digital Millennium Copyright Act of 1998",
author = "United States Copyright Office - jmf",
note = "digital millennium copyright act circumvention...",
year = "2001",
month = "10",
key = "Copyright Office Summary of the DMCA",
pages = "18"
}
das kann kann mit shell-scripten etc weiterverarbeitet werden :mrgreen:
 
Hi

Sieh dir mal folgende Einstellung an.

-Einstellungen
-Konqueror einrichten
-Leistung
-Speicherbedarf mininieren

Steht da nur bei Arbeit mit Dateien oder was anderes?

cu
 
Oben