/ Forside/ Teknologi / Operativsystemer / Linux / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn 

Kodeord  


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
finde filer efter en bestemt dato?
Fra : megafedt
Vist : 435 gange
20 point
Dato : 13-05-03 01:02


Håber en venlig sjæl lige kan afhjælpe med ovenstående problem.
Jeg har selv forsøgt at søge hjælp på google, men uden held.
Det bedste foreslag har været at bruge: >find . -mtime 20
men den viser alt for mange filer med vilkårlig dato og jeg tror årsagen er
at jeg søger på et mountet drev på en windows-partition HPFS, tror jeg.

Derudover virker dette heller ikke:
># touch -t 200305051020 /tmp/testdatefile
># ls -l /tmp/testdatefile
>-rw-r--r-- 1 landt staff 0 Jan 21 10:20 /tmp/testdatefile
># find ./* -newer /tmp/testdatefile

Er det mig der har overset noget eller nogen der kan forklare hvorfor det
ikke virker på mit linux (mandrake 9.1) system? Evt. komme med nogle
løsningsforslag?


 
 
Kommentar
Fra : JonKC


Dato : 13-05-03 16:08

Jeg prøver lige at ligge det indlæg ind igen.

Håber dette kan hjælpe

ls -l | grep 'May 17'

Jon

Kommentar
Fra : megafedt


Dato : 14-05-03 00:54

Men ovenstående forslag sorterer vel kun i filerne, så dem der er blevet ændret den 17.maj, bliver vist eller??? Det skal lige nævnes at jeg under linux kigger på min windows-partition, så måske det har betydning for filsystemet?

Kommentar
Fra : bbandit


Dato : 10-06-03 11:47

-mtime n viser de filer der er blevet ændret de sidste n dage.

Du skal altså være opmærksom på at argumentet til -mtime er i dage, ikke minuter eller timer. Hvis du vil have noget mere finmasket, kan du bruge -mmin, som virker med minuter. Vær også opmærksom på at det er "de sidste". Argumentet til mtime er altså ikke en dato, men et antal dage.

Partitionen er vel ikke mountet med 'noatime' option, vel?



Kommentar
Fra : krestenklit


Dato : 16-06-03 14:55

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



Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177271
Tips : 31960
Nyheder : 719565
Indlæg : 6406865
Brugere : 218860

Månedens bedste
Årets bedste
Sidste års bedste