Finde filer der ikke er bestemte typer (extension)

peque
Antal: 866
Tilmeldt:
20-04-2005
User is offline
Finde filer der ikke er bestemte typer (extension)

Hej Gruppe.
Jeg er blevet stillet et spoørgsmål efter et angreb med ransonware - hvor jeg gerne vil tjekke en mappe med underliggende mappe.
Jeg har følgende typer der gerne må være tilstede: doc,docs,msg,eml,xls,xlsx,pdf

Jeg ville gerne lave et script der tjekker at i denne mappe og underliggende mapper - ligger der IKKE andre filtyper en disse typer.
Hvis der ligger andre filtyper skal disse listes i en txt fil

Hvordan kan dette gøres nemmest og reelt set korrekt
Så vidt jeg kan se - ville det være en mulighed med file http://linux.die.net/man/1/file

Men hvad er jeres bud på dette


mrbrown79
Antal: 470
Tilmeldt:
12-01-2010
User is offline
Men hvad er jeres bud

#0: Men hvad er jeres bud på dette

Quick-and-dirty (og formodentlig ikke særlig optimal, hvis processerings tid er et issue:

find -regex '\(.*\.doc\)\|\(.*\.docs\)\|\(.*\.msg\)' /path/to/mySearchFolder

EDIT:
Hov, det er jo de modsatte filer, du vil finde. "find" har heldigvis en "not"-operator, og så kan det gøre ganske simpelt:

find -not -name "*.doc" -not -name "*.docs" -not -name "*.msg" /path/to/mySearchFolder

marlar
Antal: 2823
Tilmeldt:
05-12-2009
User is offline
find -not -name "*.doc"

#1: find -not -name "*.doc" -not -name "*.docs" -not -name "*.msg" /path/to/mySearchFolder

Startfolderen skal være først, så for at starte i den aktuelle folder:

find . -not -name "*.doc" -not -name "*.docs" -not -name "*.msg" > filelist