Hvordan finne alle filer i gjeldende mapper og undermapper rekursivt basert på jokertegnmatching i Linux

Hvordan finne alle filer i gjeldende mapper og undermapper rekursivt basert på jokertegnmatching i Linux

Å gå gjennom et katalogtre for å finne filer er en vanlig operasjon som utføres av de fleste filsystembehandlingsprogramvare. Dette verktøyet er i form av kommandolinjekommandoer i de fleste operativsystemer. I denne artikkelen vil du lære hvordan du finner filer ved hjelp av Wildcard Matching i Linux-operativsystemet.

Rekursivt finne filer i et katalogtre

Bruken av finne kommando ville være laget for å utføre oppgaven. Kommandoen 's' brukes til å søke etter filer i et kataloghierarki. Hjelpesiden til find-kommandoen er som følger:

Finn-kommandoen og -navn-bryteren vil se etter ønsket fil i katalogen. Bryteren gir et navn (eller mønster) for finn-kommandoen å se etter. Derfor ville den siste kommandoen være

find -name 'Re_Pattern' 

Enhver fil med Re_Pattern i filnavnet vil bli vist som et resultat. Mønsteret kan enten inneholde bokstavelige tegn eller en sekvens med jokertegn-uttrykk. De to jokertegnene som brukes i slike mønstre er:

* => Et hvilket som helst tegn hvor mange ganger som helst (kanskje ikke en gang er tilstede)

? => En karakter skal være til stede

Katalogen der operasjonene skal utføres er:

En katalog som inneholder noen filer og underkataloger

For enkelhets skyld er underkatalogene tomme. Derfor vil enhver effekt som produseres bare være synlig på filen i denne katalogen. Filen som ville bli søkt etter i katalogen ville være apple kommandoen som ville være:

find -name 'apple' 

Siden bare én fil i katalogen hadde navnet apple, ble bare 1 navn vist i utdataene. Men hvis du inkluderer et jokertegn langs den, for eksempel * (stjerne):

find -name '*apple*' 

vi endte opp med resultatet av alle filene som inneholdt apple i navnet. På samme måte kan en kombinasjon av slike jokertegn brukes. Eks. Hvis vi ønsker å få tak i alle filene som har 4 tegn i navnet, vil kommandoen være:

find -name '????' 

Derfor, ved å bruke disse to jokertegnene, kan en rekke mønstre lages for å gjenkjenne flere filnavn. Finn-kommandoen inneholder andre brytere som gir mulighet for mer strømlinjeforming av utdata.