ubuntuusers.de

Dateien bestimmter Größe verschieben

Status: Gelöst | Ubuntu-Version: Ubuntu 9.10 (Karmic Koala)
Antworten |

Kane8466

Anmeldungsdatum:
21. Juni 2008

Beiträge: Zähle...

Wohnort: HH

Kurze Vorgeschichte:

Ich habe mir eine neue externe Festplatte gekauft und habe den Inhalt der alten auf die neue kopiert. Nach Beendigung des Vorgangs habe ich die Ordner auf der alten Platte gelöscht. Dabei ist mir allerdings ein Ordner durch die Lappen gegangen. Da ich weiß, dass der Ordner zwischenzeitlich auch im Home-Verzeichnis lag, habe ich mit foremost diesen (offenbar) wiederherstellen können. Einen ersten Durchlauf von foremost habe ich ungefähr zur Hälfte abgebrochen um mich zu vergewissern, dass es funktioniert. Und in der Tat, ich habe schon nach weniger Zeit einige der Bilder des Ordners wiederfinden können. Zudem stellte Foremost ziemlich viele kleine Bilder wieder her (offensichtlich von Firefox gecachte Grafiken).

Ich sagte "offenbar" wieder hergestellt, da ich nun einen Ordner vorliegen habe, dessen Größe mir Nautilus nicht anzeigen kann. Auch kann Nautilus mir den Inhalt nicht anzeigen (dauert zu lange?). Aufgrund der Info über noch freien Speicherplatz auf meiner aktuellen Festplatte, kann ich davon ausgehen, dass der Ordner mehrere GB groß ist. Der von Foremost erstellten audit.txt kann ich entnehmen, dass sich neben einigen großen Bildern viele kleine Grafiken (<10kb) in dem Ordner befinden. Ich nehme an, dass es sich hierbei um die erwähnten, von Firefox gecachten, Grafiken handelt.


Nun dachte ich, wäre es vielleicht sinnvoll, diese rauszufiltern, die Größe des Ordners deutlich zu verringern, um mir den Inhalt dann doch irgendwann von Nautilus anzeigen lassen zu können. Ich hoffe, man konnte mir bis hierhin folgen. 🙄

Im Wiki habe ich ein Skript gefunden, das mir für mein Vorhaben geeignet scheint. Allerdings bräuchte ich einen zusätzlichen Parameter, um die Bilder nach Größe filtern zu können. Die Idee ist, die Bilder auf zwei Ordner zu verteilen, um Nautilus doch noch dazu bewegen zu können, mir den Inhalt des Ordners anzeigen zu lassen.

Da ich mich mit Bash nicht besonders gut auskenne, hoffe ich, kann mir jemand einen Hinweis geben, wie ich den benötigten Filter in das Skript einbinde.

Vielleicht denke ich zu kompliziert und geht es einfacher sogar ohne Skript? Dann bitte ich den Thread zu verschieben.

masche85

Anmeldungsdatum:
12. Juni 2009

Beiträge: 352

Hallo,

der Befehl

find . -type f -size -100k -exec ls -ahl {} \;

findet alle Dateien im angegebenen Ordner in dem du dich befindest + in allen Unterordnern welche bis maximal 100 Kb groß sind. Den Befehl zeigt dir nur alles an was er findet und verschiebt nocht nicht.

EDIT: Hatte einen Fehler im unteren Kommando.

Mit dem Befehl

find . -type f -size -100k -exec mv {} /pfad/neuer/ordner/ \;

verschiebst du alle gefundenen Dateien in den Ordner /pfad/neuer/ordner/

Den Parameter -size -100k kannst du ensprechen Ändern.

Mit + alles was größer als ist oder mit M statt k kannst du in Megabyte suchen.

Dazu findest du alles mittels man find oder hier: http://www.linux-user.de/ausgabe/2005/05/088-find/

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

masche85 schrieb:

find . -type f -size -100k -exec ls -ahl {} \;

-a ist wohl überflüssig, weil entweder hat find die Datei gefunden oder nicht. -a ändert in dem Falle nichts mehr - Verzeichnisse sind ja ausgeschlossen, und eine versteckte Datei, die man mit ls .foo anzeigen läßt, wird auch nicht weiter versteckt.

find . -type f -size -100k -exec mv -ahl {} /pfad/neuer/ordner/ \;

mv dagegen kennt überhaupt kein -ahl. Cut'n'paste-Fehler? ☺

masche85

Anmeldungsdatum:
12. Juni 2009

Beiträge: 352

user unknown schrieb:

-a ist wohl überflüssig, weil entweder hat find die Datei gefunden oder nicht. -a ändert in dem Falle nichts mehr - Verzeichnisse sind ja ausgeschlossen, und eine versteckte Datei, die man mit ls .foo anzeigen läßt, wird auch nicht weiter versteckt.

Stimmt, ich habe mir das ls -ahl schon so eingeprägt oder ich verwende dir (alias von ls -ahl) das aber nicht auf alles Systemen hinterlegt ist.

find . -type f -size -100k -exec mv -ahl {} /pfad/neuer/ordner/ \;

mv dagegen kennt überhaupt kein -ahl. Cut'n'paste-Fehler? ☺

Da hast du auch recht.

Ich sollte mir besser durchlesen was ich schreibe 😳

Kane8466

(Themenstarter)

Anmeldungsdatum:
21. Juni 2008

Beiträge: 10

Wohnort: HH

Oh vielen dank euch Beiden, das klappt wunderbar.

Es gilt jetzt herauszufinden wie ich das am besten unterteile. Zwei Ordner sind natürlich viel zu wenig 😀

Problem gelöst…

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Kane8466 schrieb:

Problem gelöst…

Wie?

Weitere Unterteilung nach Größe? -150k, -200k, -300k, -500k usw.?

Kane8466

(Themenstarter)

Anmeldungsdatum:
21. Juni 2008

Beiträge: 10

Wohnort: HH

nicht?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Kane8466 schrieb:

nicht?

Das mußt Du doch wissen. ☺

Kane8466

(Themenstarter)

Anmeldungsdatum:
21. Juni 2008

Beiträge: 10

Wohnort: HH

ja, genau so habe ich mir das gedacht - mehrere Ordner

Antworten |