← 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.
>>
>
> 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?
>

find . -type f   = find alle filer (af typen "almindelig fil")
find . -ctime 96 = find alle filer med ændret status (ie.
redigeret/oprettet) indenfor de sidste 96 timer (4 dage)

samlet giver det
find . -type f -ctime 96  = find alle filer der er nyere end 4 dage

Din løsning kan så være :
find . -type f -ctime 96 -print0|xargs -0 -I {} cp {} /nye_filer/

Mvh
JesperKP

PS. ved betingelse af flere udtryk bruges ofte -a i find imellem
udtrykkene - men det er ikke nødvendigt.
Så ville det se sådan her ud
find . -type f -a -ctime 96 -print0|xargs -0 -I {} cp {} /nye_filer/



Follow ups

References