sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #99974
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