Linux: Wie "move ???01*.* 01" emulieren?
#1 Linux: Wie "move ???01*.* 01" emulieren?
Unter DOS gings noch ganz einfach ...
Da es hier ja auch einige Linuxer gibt, kann mir vielleicht jemand helfen...
Ich brauch unter Linux mal die Syntax für eine Datei-Verschiebe Operation.
Ich habe z.B. eine Datei
13.03.2003 08-54-59 1600 Finepix ... usw.jpg
.. und noch 100te andere, ebenfalls aus März.
Die will ich in das Unterverzeichnis "03" verschieben.
mv ???03* 03
oder
mv ???03*.* 03
funktioniert nicht ....
Hintergrund
Ich hatte mal 160.000 jpg Bilder .. alle selbst fotografiert.
Alle schön geordnet mit Beschreibung im Dateinamen und chronologisch in Verzeichnissen wie:
/foto/2003/03/13 usw....
Halt nen Fototagebuch...
Dann kam der böse Virus der komischerweise nur MP3 (Musik) und JPG (Covers vermutet?) angegriffen hat .. (DANKE SONY !!! WEM SONST TRAU ICH SOWAS ZU?!) *(Ich mein .. ist doch merkwürdig, oder .. mp3 und jpg anzugreifen ..)
Naja .. Mittlerweile hat ein Proggi die Bilder wieder zurückgeholt.
Aber mit Dateinamen RESCUE00001 etc ...
Mit ACDSEE hab ich anhand der EXIF Informationen zumindest das Datum in den Dateinamen gekriegt.
Mittlerweile liegen die Bilder aber nicht mehr auf nem Windows PC sondern auf meinem Linux Datei Server (z.B. damit sich sowas nicht so schnell wiederholt) ..
Über Umwege könnte ich per Total Commander und FTP oder Midnight Commander zwar zumindest die Syntax per Hand anwenden ...
Aber mein Ziel ist es, die Dateien per Batch bzw. Script ala
#!/bin/sh
mv ???01*.* 01
mv ???02*.* 02
...usw
automatisch ordnen zu lassen...
Und da es rund 60GB Bilder sind, scheidet umkopieren auf WinPC und zurück auf Linux Server aktuell wegen Platznot aus ...
Da es hier ja auch einige Linuxer gibt, kann mir vielleicht jemand helfen...
Ich brauch unter Linux mal die Syntax für eine Datei-Verschiebe Operation.
Ich habe z.B. eine Datei
13.03.2003 08-54-59 1600 Finepix ... usw.jpg
.. und noch 100te andere, ebenfalls aus März.
Die will ich in das Unterverzeichnis "03" verschieben.
mv ???03* 03
oder
mv ???03*.* 03
funktioniert nicht ....
Hintergrund
Ich hatte mal 160.000 jpg Bilder .. alle selbst fotografiert.
Alle schön geordnet mit Beschreibung im Dateinamen und chronologisch in Verzeichnissen wie:
/foto/2003/03/13 usw....
Halt nen Fototagebuch...
Dann kam der böse Virus der komischerweise nur MP3 (Musik) und JPG (Covers vermutet?) angegriffen hat .. (DANKE SONY !!! WEM SONST TRAU ICH SOWAS ZU?!) *(Ich mein .. ist doch merkwürdig, oder .. mp3 und jpg anzugreifen ..)
Naja .. Mittlerweile hat ein Proggi die Bilder wieder zurückgeholt.
Aber mit Dateinamen RESCUE00001 etc ...
Mit ACDSEE hab ich anhand der EXIF Informationen zumindest das Datum in den Dateinamen gekriegt.
Mittlerweile liegen die Bilder aber nicht mehr auf nem Windows PC sondern auf meinem Linux Datei Server (z.B. damit sich sowas nicht so schnell wiederholt) ..
Über Umwege könnte ich per Total Commander und FTP oder Midnight Commander zwar zumindest die Syntax per Hand anwenden ...
Aber mein Ziel ist es, die Dateien per Batch bzw. Script ala
#!/bin/sh
mv ???01*.* 01
mv ???02*.* 02
...usw
automatisch ordnen zu lassen...
Und da es rund 60GB Bilder sind, scheidet umkopieren auf WinPC und zurück auf Linux Server aktuell wegen Platznot aus ...
Blade empfiehlt: DMFV IV - Blade fliegt: minicopterJoker - und flog: Trex 450 verkauft - Trex 600E verkauft - Blade bloggt: Mariosagt.de!
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
#2
Wen Du bis heute Abend keine Lösung bekommen hast, schreibe ich Dir nen Bash script, muss nur jetzt gleich los, zu ner Schulung.
#4
@tracer .. das wäre, aber nur, wenns nicht zuviel Aufwand macht, KLASSE
@Ringding ...
Habs grade probiert ...
sieht ca. so aus .. (genauso wie das direkt angewandte "mv" übrigens)
mv: Aufruf von stat fЭr ,,-" nicht mЖglich: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fЭr ,,01848.jpg" nicht mЖglich: Datei oder Verzeichnis nicht gefunden
blacky:/pub/hdd5/Foto/Rescue/2004#
wobei ein DIR-Auszug so aussieht ....
16.06.2004 21-23-04 1600x1200 PENTAX Optio S - 08604.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 01263.jpg
16.06.2004 21-23-12 1200x1600 PENTAX Optio S - 08826.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 01395.jpg
16.06.2004 23-03-42 1600x1200 PENTAX Optio S - 03192.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 02333.jpg
16.06.2004 23-04-00 1200x1600 PENTAX Optio S - 03242.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 02334.jpg
17.02.2004 16-56-33 2832x2128 FinePix F601 ZOOM - 08930.jpg 23.02.2004 16-47-54 2848x2136 FinePix S7000 - 00591.jpg
17.02.2004 16-57-07 2832x2128 FinePix F601 ZOOM - 01679.jpg 23.02.2004 16-47-54 2848x2136 FinePix S7000 - 02894.jpg
Es gibt ausserdem bereits die vorhandenen Verzeichnisse "01" - "12" also für die Monate .....
@Ringding ...
Habs grade probiert ...
sieht ca. so aus .. (genauso wie das direkt angewandte "mv" übrigens)
mv: Aufruf von stat fЭr ,,-" nicht mЖglich: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fЭr ,,01848.jpg" nicht mЖglich: Datei oder Verzeichnis nicht gefunden
blacky:/pub/hdd5/Foto/Rescue/2004#
wobei ein DIR-Auszug so aussieht ....
16.06.2004 21-23-04 1600x1200 PENTAX Optio S - 08604.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 01263.jpg
16.06.2004 21-23-12 1200x1600 PENTAX Optio S - 08826.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 01395.jpg
16.06.2004 23-03-42 1600x1200 PENTAX Optio S - 03192.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 02333.jpg
16.06.2004 23-04-00 1200x1600 PENTAX Optio S - 03242.jpg 23.02.2004 16-47-53 2848x2136 FinePix S7000 - 02334.jpg
17.02.2004 16-56-33 2832x2128 FinePix F601 ZOOM - 08930.jpg 23.02.2004 16-47-54 2848x2136 FinePix S7000 - 00591.jpg
17.02.2004 16-57-07 2832x2128 FinePix F601 ZOOM - 01679.jpg 23.02.2004 16-47-54 2848x2136 FinePix S7000 - 02894.jpg
Es gibt ausserdem bereits die vorhandenen Verzeichnisse "01" - "12" also für die Monate .....
Blade empfiehlt: DMFV IV - Blade fliegt: minicopterJoker - und flog: Trex 450 verkauft - Trex 600E verkauft - Blade bloggt: Mariosagt.de!
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
#5
Erstmal ist Deine LC_ALL kaputt, der versufht deutsch zu reden.
Dann auf jeden Fall Hochkomma um die Namen, wegen der Leerzeichen.
Dann auf jeden Fall Hochkomma um die Namen, wegen der Leerzeichen.
#6
Probier's mal mit dem kleinen bash-script:
Steffen
NACHTRAG: Die Klammern bei mv sind geschweifte Klammern, sieht man nicht so gut, am besten das gesammte Script in ein Datei kopieren.
Code: Alles auswählen
#!/bin/sh
for i in 01 02 03 04 05 06 07 08 09 10 11 12; do
find -maxdepth 1 -name "???$i*.jpg" -exec mv {} $i/ \;
done
NACHTRAG: Die Klammern bei mv sind geschweifte Klammern, sieht man nicht so gut, am besten das gesammte Script in ein Datei kopieren.
T-Rex 450 (ohne V2, SE oder sowas), Pikke 450, Picc Pro, MWC (i.A.)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
#7
He, cool! Das funzt!Quaxx hat geschrieben:Probier's mal mit dem kleinen bash-script:
SteffenCode: Alles auswählen
#!/bin/sh for i in 01 02 03 04 05 06 07 08 09 10 11 12; do find -maxdepth 1 -name "???$i*.jpg" -exec mv {} $i/ \; done
NACHTRAG: Die Klammern bei mv sind geschweifte Klammern, sieht man nicht so gut, am besten das gesammte Script in ein Datei kopieren.
Thx!!!
Denn ich muss das in mehreren Schritten machen, also leider nicht nur 1x pro Jahr .. sonst werden die Verzeichnisse in denen die Jahre gesammelt werden zu fett .. dann tut sich nix mehr im Dateisystem ^^
Also: Muchas Gracias, das hat viel frustige* Hand-Arbeit erspart!!!
*(weils ja logisch ist, das der PC das eigentlich selbst könnte)...
Blade empfiehlt: DMFV IV - Blade fliegt: minicopterJoker - und flog: Trex 450 verkauft - Trex 600E verkauft - Blade bloggt: Mariosagt.de!
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
#8
Keine Ursache!
Aber das script so anzupassen, daß die Dateien erst jahrweise in Verzeichnisse sortiert werden, ist ja auch nicht so schwer
Steffen
Aber das script so anzupassen, daß die Dateien erst jahrweise in Verzeichnisse sortiert werden, ist ja auch nicht so schwer
Steffen
T-Rex 450 (ohne V2, SE oder sowas), Pikke 450, Picc Pro, MWC (i.A.)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
#9
Ja, ne, kein Thema, Bin zwar noch weit davon entfernt die geniale (*schleim* ^^) Funktionsweise komplett zu verstehen, aber wie ich die Optionen ändere/nutzen kann hab ich kapiert ^^
Blade empfiehlt: DMFV IV - Blade fliegt: minicopterJoker - und flog: Trex 450 verkauft - Trex 600E verkauft - Blade bloggt: Mariosagt.de!
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
Wenn 3 Frauen in einem Schuhgeschäft sind, und 5 rauskommen, müssen 2 wieder reingehen, damit keine mehr drin ist.
#10
Ich habe nochmal ein wenig rumgescriptet und das ganze kommentiert:
Das Script legt die nötigen Verzeichnisse gleich mit an wenn sie noch nicht existieren.
Steffen
Code: Alles auswählen
#!/bin/sh
# schleife, die durch die einzelnen jahre geht
for JAHR in 1998 1999 2000 2001 2002 2003 2004 2005 2006 ; do
# test ob jahresverzeichnis schon existiert, wenn nicht, dann anlegen
if [ ! -d $JAHR ]; then
mkdir $JAHR
fi
# monatsschleife
for MONAT in 01 02 03 04 05 06 07 08 09 10 11 12; do
# test ob das monatsverzeichnis schon existiert, wenn nicht, dann anlegen
if [ ! -d $JAHR/$MONAT ]; then
mkdir $JAHR/$MONAT
fi
# suche nach jpg-dateien, nach monat und jahr suchen und in verzeichnis verschieben
# maximal ein verzeichnis tief suchen
find -maxdepth 1 -name "??.$MONAT.$JAHR*.jpg" -exec mv {} $JAHR/$MONAT/ \;
# ende der monatschleife
done
# ende der jahresschleife
done
Steffen
T-Rex 450 (ohne V2, SE oder sowas), Pikke 450, Picc Pro, MWC (i.A.)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
#12
Etwas vereinfacht:
Code: Alles auswählen
# setup
FROM_YEAR=1998
TO_YEAR=2006
set -x
for JAHR in $(seq $FROM_YEAR $TO_YEAR); do
# test ob jahresverzeichnis schon existiert, wenn nicht, dann anlegen
if [ ! -d $JAHR ]; then
mkdir $JAHR
fi
# monatsschleife
for MONAT in $(seq 01 12); do
# test ob das monatsverzeichnis schon existiert, wenn nicht, dann anlegen
if [ ! -d $JAHR/$MONAT ]; then
mkdir $JAHR/$MONAT
fi
# suche nach jpg-dateien, nach monat und jahr suchen und in verzeichnis verschieben
# maximal ein verzeichnis tief suchen
find -maxdepth 1 -name "??.$MONAT.$JAHR*.jpg" -exec mv {} $JAHR/$MONAT/ \;
# ende der monatschleife
done
# ende der jahresschleife
done
#13
Hmmm... seq lässt die führenden Nullen beim Monat weg
Steffen
Steffen
T-Rex 450 (ohne V2, SE oder sowas), Pikke 450, Picc Pro, MWC (i.A.)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
#14
Sorry, "seq -w 1 12"Quaxx hat geschrieben:Hmmm... seq lässt die führenden Nullen beim Monat weg
#15
Sweeeeeeet
Steffen
Steffen
T-Rex 450 (ohne V2, SE oder sowas), Pikke 450, Picc Pro, MWC (i.A.)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)
Merke: Ist es zu kalt zum Fliegen/weht zu viel Wind, lass' es bleiben!
----------------------------------------------------------------------------------
Der kleine Wiki braucht Hilfe, bitte hilf ihm: (http://wiki.rc-heli-fan.org/)