← Back to team overview

sslug-teknik team mailing list archive

RE: At finde JPG/jpg filer med 'find'

 

>> Jesper K. Pedersen skrev:
>> >> Hej liste og guruer...
>> >>
>> >> - åh...den er triviel denne her, men jeg kan altså ikke se i mine
>> >> notater, hvordan man gør.
>> >>
>> >> Jeg vil gerne finde og kopiere (med scp eller rsync), alle
>> jpg/JPG filer
>> >> der ligger i /home. Jeg har root-adgang.
>> >>
>> >> Filerne kan have tossede navne, altså med æøå og mellemrum osv.
>> >>
>> >> Jeg mente jeg kunne lave et lille script (bash) med 'find' osv.
>> >> Jeg mente forkert, suk...
>> >>
>> >> Any hints?
>> >>
>> >
>> > find . -iname '*.jpg' -print0|xargs -0 -I {} echo {}
>> >
>> > Erstat "echo" med det du gerne vil have der sker.
>> >
>> > Tit går det "galt" med find når folk har specielle
>> filnavne. Det er klaret
>> > med "-print0" option - som korrekt overgiver det fulde navn
>> til xargs (når
>> > xargs bruges med -0).
>> >
>> > Kan det hjælpe lidt, med at komme videre med dit script?
>> >
>> > Mvh
>> >   JesperKP
>> >
>> >
>> >
>>
>> Hjælp, jeg er for dum...
>>
>> Jeg vil nu gerne rekursivt kopiere alle filer fra et bestemt bibliotek
>> med underliggende biblioteker til en ny - alle filer, der er NYERE end
>> fx 4 dage.
>>
>> Jeg giver
>>
>> find . -atime -4 '*' -print0|xargs -0 -I {} cp {} /nye_filer/.
>>
>> - det virker selvfølgelig ikke, både pga. de '-4' som jo nok ikke skal
>> se sådan ud - og pga. 'cp {}' halløjet, der heller ikke er
>> rigtigt...suk
>>
>> Any hints?
>>
>
> Prøv med cp --parents  (append source path to DIRECTORY)
>
> Tag evt. også -p (same as --preserve=mode,ownership,timestamps) med.
>

Det vil ikke gøre nogen forskel i hans eksempel - da find fejler (pga.
forkert anvendt syntax)

  find . -atime -4 '*'

'*' er forkert - og kan ikke bruges sådan.

  find . -atime -4    er nok

ellers skal der bruges :

  find . -atime -4 -name '*'

Hvilket dog i bund og grund er det sammen som find . -atime -4)

Mvh
 JesperKP


Follow ups

References