Dit eksempel:
find ./* -newer /tmp/testdatefile
... finder filer som ligger i underkataloger (./*)
som har indhold som er yngre end infholdet i filen /tmp/testdatefile
Nej, du skal gøre som følger.
Du bruger i alle tilfælde find-kommandoen.
Først skal du gøre dig klart hvad du mener med "finde filer efter en bestemt dato?".
find-kommandoen har nemlig flere flag vedrørende alder.
flaget -mtime vedrører ændringen af filens INDHOLD.
flaget -ctime vedrører filens attributter (permissions, ejer, gruppe m.m.).
flaget -atime vedrører seneste åbning af filen for LÆSNING af indhold.
Alderen angives efter flaget som et tal. Men foranstiller du et plus eller minus ændrer det søgningen drastisk.
Følgende eksempler vedrører modifikation af INDHOLDET.
find . -mtime -20 # Hvis filernes indhold skal være MINDRE end 20 døgn gammelt
find . -mtime 20 # Hvis filernes indhold skal være PRÆCIS 20 døgn gammelt
find . -mtime +20 # Hvis filernes indhold skal være MERE end 20 døgn gammelt
Endelig skal du være opmærksom på eksemplets punktum.
Der søges fra det aktuelle katalog og i samtlige underkataloger.
Skriver du i stedet ./* søger du kun i underkataloger, hvis navn IKKE starter med et punktum. (det kunne f.eks. være .netscape etc.).
Wildcards matcher nemlig ikke filnavne som STARTER med et punktum.
Venlig hilsen
KrestenKlit