[Linux] bestandstypen uit directories recursief kopieren

Pagina: 1
Acties:
  • 849 views

Vraag


Acties:
  • 0 Henk 'm!

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Uit mijn map met fotomateriaal wil alleen de .jpg bestanden kopieren naar een andere map met behoud van de directory-structuur. Ik heb even zitten spelen met wat commando's en ik kom nu uit op het volgende:

code:
1
cp --parents `find -name \*.jpg` /mnt/usbstorage/Share/Fotos


Dit lijkt alleen niet goed te gaan als er spaties in de directory-naam staan. Heeft iemand tips hoe ik dit voor elkaar krijg?

Het betreft overigens Raspbian op een raspberry pi.

Beste antwoord (via Palomar op 31-01-2016 17:45)


  • Ultraman
  • Registratie: Februari 2002
  • Laatst online: 16:18

Ultraman

Moderator Harde Waren

Boefje

Wat Borromini zegt wilde ik ook opmerken, de -exec optie van find.

Zelf zou ik het met rsync proberen denk ik. Zoiets:
rsync -am --include='*.jpg' --include='*/' --exclude='*' ~/Fotos/ /mnt/usbstorage/Share/Fotos/

Als je stil blijft staan, komt de hoek wel naar jou toe.

Alle reacties


Acties:
  • 0 Henk 'm!

  • kauwgomballen
  • Registratie: Oktober 2001
  • Laatst online: 23-06 19:54
Dubbele quotes om het find commando heen? (Links en rechts naast de backticks)

Acties:
  • 0 Henk 'm!

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

Gebruik alleen find, maar dan met -exec. Veel makkelijker ;)

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Ultraman
  • Registratie: Februari 2002
  • Laatst online: 16:18

Ultraman

Moderator Harde Waren

Boefje

Wat Borromini zegt wilde ik ook opmerken, de -exec optie van find.

Zelf zou ik het met rsync proberen denk ik. Zoiets:
rsync -am --include='*.jpg' --include='*/' --exclude='*' ~/Fotos/ /mnt/usbstorage/Share/Fotos/

Als je stil blijft staan, komt de hoek wel naar jou toe.


Acties:
  • 0 Henk 'm!

  • technorabilia
  • Registratie: November 2006
  • Laatst online: 12:37
Rsync is makkelijker

👉🏻 Blog 👈🏻


Acties:
  • 0 Henk 'm!

  • Palomar
  • Registratie: Februari 2000
  • Niet online
[quote]kauwgomballen schreef op zondag 31 januari 2016 @ 16:39:
Ultraman schreef op zondag 31 januari 2016 @ 16:47:
Wat Borromini zegt wilde ik ook opmerken, de -exec optie van find.

Zelf zou ik het met rsync proberen denk ik. Zoiets:
rsync -am --include='*.jpg' --include='*/' --exclude='*' ~/Fotos/ /mnt/usbstorage/Share/Fotos/
thanks, dat lijkt te werken :) (kwam erachter dat er ook wat *.JPG in capitals tussen zitten, dus was eerst even verbaasd dat niet alles overkwam ;)).

Acties:
  • 0 Henk 'm!

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

Met find -iname neemt ie alles - hoofdletters of niet. Maar dat kan rsync ongetwijfeld ook.

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje


Acties:
  • 0 Henk 'm!

  • Ultraman
  • Registratie: Februari 2002
  • Laatst online: 16:18

Ultraman

Moderator Harde Waren

Boefje

Palomar schreef op zondag 31 januari 2016 @ 17:45:
[quote]kauwgomballen schreef op zondag 31 januari 2016 @ 16:39:

[...]

thanks, dat lijkt te werken :) (kwam erachter dat er ook wat *.JPG in capitals tussen zitten, dus was eerst even verbaasd dat niet alles overkwam ;)).
Gelijk je find skills oefenen door die daarmee te vinden en met een -exec actie te renamen naar kleine letters? ;)

Als je stil blijft staan, komt de hoek wel naar jou toe.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 28-09 21:59

Hero of Time

Moderator LNX

There is only one Legend

Waar ik met find achter kwam, is dat mappen en bestanden met een spatie niet altijd goed gaan. Een -print0 gevolgd door xargs -0 achter een pipe is dan de juiste weg. Voor de TS zou zijn commando op dat moment als volgt zijn:
find /mnt/usbstorage/Share/Fotos -iname \*.jpg -print0 | xargs -0 cp --parents

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16:51

deadinspace

The what goes where now?

Beetje mosterd na de maaltijd, maar:
Palomar schreef op zondag 31 januari 2016 @ 16:38:
Uit mijn map met fotomateriaal wil alleen de .jpg bestanden kopieren naar een andere map met behoud van de directory-structuur. Ik heb even zitten spelen met wat commando's en ik kom nu uit op het volgende:

code:
1
cp --parents `find -name \*.jpg` /mnt/usbstorage/Share/Fotos
Onder zsh (een betere shell dan bash) had het vergelijkbare
cp --parents **/*.jpg /mnt/usbstorage/Share/Fotos
gedaan wat je wilde :)

Acties:
  • 0 Henk 'm!

  • rcbaltus
  • Registratie: Februari 2019
  • Laatst online: 14-04 21:28
Hallo,

Ik heb niet zoveel verstand van linux.

Ik wil via de taakplanner elke dag een script laten lopen op mijn Synology NAS, waarbij alle files uit
/volume1/photo/Foto 2020/
naar
/volume1/MultiMedia/Mijn afbeeldingen/Divers/Werk/2020" laten kopieren, alleen de nieuwe bestanden.
Daarbij zou het mooi zijn als 2020 (het jaar) elk jaar vanzelf meeloopt en er in divers werk ook een nieuwe dir 2021 wordt aangemaakt.

Kan iemand mij helpen?

Ik zou dat fijn vinden!

Bob

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 16:32

Cyphax

Moderator LNX
Je kunt daar beter een nieuw topic voor openen, dit is zo'n oud topic. :)

Saved by the buoyancy of citrus

Pagina: 1

Dit topic is gesloten.