logo

Sådan finder du rekursivt alle filer i aktuelle og undermapper baseret på wildcard-matching i Linux

At gå gennem et mappetræ for at finde filer er en almindelig handling, der udføres af de fleste filsystemstyringssoftware. Dette værktøj er i form af kommandolinjekommandoer i de fleste operativsystemer. I denne artikel lærer du, hvordan du finder filer ved hjælp af Wildcard Matching i Linux-operativsystemet.

Rekursivt at finde filer i et mappetræ

Brugen af find kommando ville blive lavet til at udføre opgaven. Kommandoen 's' bruges til at søge efter filer i et mappehierarki. Hjælpesiden til find-kommandoen er som følger:



Find-kommandoen og -name-kontakten vil lede efter den ønskede fil i mappen. Kontakten giver et navn (eller et mønster) for find-kommandoen, som du skal holde øje med. Derfor ville den sidste kommando være

find -name 'Re_Pattern'>

Enhver fil med Re_Pattern i sit filnavn vil blive vist som et resultat. Mønsteret kan enten indeholde bogstavelige tegn eller en sekvens af Wildcard-udtryk. De to jokertegn, der bruges i sådanne mønstre, er:

javascript if-erklæring

* => Ethvert tegn et vilkårligt antal gange (måske ikke engang være til stede)



? => Én karakter skal være til stede

Biblioteket, hvori handlingerne udføres, er:

En mappe, der indeholder nogle filer og undermapper



For nemheds skyld er undermapperne tomme. Derfor vil enhver frembragt effekt kun være synlig på filen i denne mappe. Filen, der ville blive søgt efter i mappen, ville være apple kommandoen, som ville være:

find -name 'apple'>

Da kun én fil i mappen havde navnet apple, blev der kun vist 1 navn i outputtet. Men hvis du inkluderer et jokertegn langs den, såsom * (Asterisk):

java gør mens
find -name '*apple*'>

vi endte med resultatet af alle filer, der indeholdt apple i navnet. På samme måde kan en kombination af sådanne jokertegn bruges. Eks. Hvis vi ønsker at hente alle de filer, der har 4 tegn i deres navn, ville kommandoen være:

find -name '????'>

Ved at bruge disse to jokertegn kan der derfor laves en række mønstre til at genkende flere filnavne. Find-kommandoen indeholder andre kontakter, som giver mulighed for mere strømlining af output.