Moin, derweil hänge ich mal wieder etwas. Ich Ordner mit Bildern ... Daraus möchte ich einige woanderst hinkopieren.Soweit ist das ja kein Thema.
Bilder-Ordner
-- Stadt
--- 1980
--- 1981
--- 1982
bis 2012
-- Natur
--- 1980
--- 1981
--- 1983
bis 2012
-- Architektur
--- 1980
--- 1982
--- 1983
bis 2012
etc
Jetzt möchte ich jeweils zB 1982, 1992 und 2002 Kopieren. WIE stelle ich das an? Entweder liegt es am Schlafentzug oder weil ich den ganzen Tag vor der Kiste hänge. Mir fällt da einfach nichts ein, Leere im Kopf und so
Für einen Klatsch mit dem Zaunpfahl bin ich, wie immer, Dankbar!
Bestimmte Dateien per Script Verschieben ...
Bestimmte Dateien per Script Verschieben ...
Die Sicherheit einer Software lässt sich daran messen,
in wie vielen Ländern sie verboten ist.
in wie vielen Ländern sie verboten ist.
Re: Bestimmte Dateien per Script Verschieben ...
man cp
Debian testing (wheezy)
Kernel Linux 3.2.0-3-686-pae
Mainboard: Fujitsu D3041-A1
CPU: Intel Pentium Dual-Core E5800 @ 3.20GHz, 4 GB RAM
Grafik: ATI RV710 [Radeon HD 4350]
eth0: RTL8111/8168B PCI Express Gigabit Ethernet
Kernel Linux 3.2.0-3-686-pae
Mainboard: Fujitsu D3041-A1
CPU: Intel Pentium Dual-Core E5800 @ 3.20GHz, 4 GB RAM
Grafik: ATI RV710 [Radeon HD 4350]
eth0: RTL8111/8168B PCI Express Gigabit Ethernet
Re: Bestimmte Dateien per Script Verschieben ...
Moinsen...
verstehe ich Dich richtig? Du willst aus den jeweiligen Ordnern "Stadt", "Natur" und "Architektur" die
Unterordner eines bestimmten Jahres in einem separaten Ordner zusammenfassen?
verstehe ich Dich richtig? Du willst aus den jeweiligen Ordnern "Stadt", "Natur" und "Architektur" die
Unterordner eines bestimmten Jahres in einem separaten Ordner zusammenfassen?
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: Bestimmte Dateien per Script Verschieben ...
Ja da musste ich auch erstmal ein bisschen Grübeln.. Also ich nehme an du willst bestimmte Jahre herauskopieren aber die Ordnerstruktur Stadt, Land, Fluss erhalten? Wir sind im Ordner Bilder, dann sieht ist der Befehl so aus:layer8 hat geschrieben:Mir fällt da einfach nichts ein, Leere im Kopf und so
Code: Alles auswählen
~/Bilder$ cp -R --parents */{1991,1992,1994} /dest/
Nachtrag: Falls es so ist wie von gingupin vermutet müsstest du etwas genauer beschreiben wie die Ordnerstruktur unterhalb der Jahre aussieht und wie die Struktur im Zielverzeichnis werden soll.
Zuletzt geändert von r900 am 09.10.2012 23:18:01, insgesamt 1-mal geändert.
Re: Bestimmte Dateien per Script Verschieben ...
Genau. Leider sind es nicht nur <10 Ordner sondern an die 45 Kategorien. Würde das auch zusammen Klicken, aber ich denke, das es per Script einfacher ist. man cp habe ich selbstverständlich schon geschaut. Wirklich schlau wurde ich daraus aber nicht.gingupin hat geschrieben:Moinsen...
verstehe ich Dich richtig? Du willst aus den jeweiligen Ordnern "Stadt", "Natur" und "Architektur" die
Unterordner eines bestimmten Jahres in einem separaten Ordner zusammenfassen?
Ich sollte noch dazu erwähnen, das die Dateien selbst zB "nat-1981-0001.jpeg" oder "arc-1986-0123.jpeg" heißen. das sollte es einfacher machen, oder?
gedacht hatte ich an:
Code: Alles auswählen
cp -R /home/layer8/Dokumente/Bilder-Archiv/*1982*.jpeg /media/usb0/vergleich/
@r900: haben gleichzeitig geschrieben
Die Sicherheit einer Software lässt sich daran messen,
in wie vielen Ländern sie verboten ist.
in wie vielen Ländern sie verboten ist.
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: Bestimmte Dateien per Script Verschieben ...
Jaha, hab ich's doch falsch verstanden. Ich würde sagen so müsste es gehen (aber erst weiterlesen!):
Die Option -R brauchst du da nicht, da Dateien angeben werden und keine Verzeichnisse. Die shell findet in dem Fall alle Dateien die auf das Muster passen und setzt diese in die Kommandozeile ein. Wie bei allem gibt es aber auch bei der Kommandozeile Limitierungen und die können bei sowas durchaus erreicht werden. Mit find bist du auf der sicheren Seite:
Wenn das die gewünschten Dateinamen auflistet kannst du alles kopieren indem du eine entsprechende "-exec" Option dranhängst:
Das führt dann für jede Datei das angegebene Kommando aus und packt nicht alles in eine Kommandozeile.
Code: Alles auswählen
~$ cp ~/Dokumente/Bilder-Archiv/*/{jahr1,jahr2,jahr3}/*.jpeg /media/usb0/vergleich/
Code: Alles auswählen
~$ find ~/Dokumente/Bilder-Archiv -regex '.*/\(jahr1\|jahr2\|jahr3\)/.*\.jpeg'
Code: Alles auswählen
~$ find ~/Dokumente/Bilder-Archiv -regex '.*/\(jahr1\|jahr2\|jahr3\)/.*\.jpeg' -exec cp '{}' /media/usb0/vergleich/ ';'