10 Hagnýt dæmi um að nota jokertákn til að passa saman skráarnöfn í Linux


Jokertákn (einnig nefnd meta stafir) eru tákn eða sérstafir sem tákna aðra stafi. Þú getur notað þær með hvaða skipun sem er eins og ls skipun eða rm skipun til að skrá eða fjarlægja skrár sem passa við ákveðin skilyrði, með móttækilegum hætti.

Lestu einnig: 10 Hagnýt dæmi um að keðja rekstraraðila í Linux

Þessar jokertákn eru túlkaðar af skelinni og niðurstöðunum er skilað í skipunina sem þú keyrir. Það eru þrjú aðal jokertákn í Linux:

  • Stjarna (*) – passar við eitt eða fleiri tilvik af hvaða staf sem er, þar með talið engan staf.
  • Spurningarmerki (?) – táknar eða passar við eitt tilvik af hvaða staf sem er.
  • Svigastafir ([ ]) – passar við hvers kyns staf sem er innan hornklofa. Það er hægt að nota mismunandi gerðir af stöfum (alfanumerískir stafir): tölur, bókstafir, aðrir sérstafir o.s.frv.

Þú þarft að velja vandlega hvaða algildi á að nota til að passa við rétt skráarnöfn: það er líka hægt að sameina þau öll í einni aðgerð eins og útskýrt er í dæmunum hér að neðan.

Hvernig á að passa skráarnöfn með því að nota jokertákn í Linux

Í tilgangi þessarar greinar munum við nota eftirfarandi skrár til að sýna hvert dæmi.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Þessi skipun passar við allar skrár með nöfnum sem byrja á l (sem er forskeytið) og endar á einu eða fleiri tilvikum af hvaða staf sem er.

$ ls -l l*	

2. Þetta dæmi sýnir aðra notkun á * til að afrita öll skráarnöfn með forskeytinu users-0 og endar á einu eða fleiri tilvikum af hvaða staf sem er.

$ mkdir -p users-info
$ ls users-0*
$ mv -v users-0* users-info/	# Option -v flag enables verbose output

3. Eftirfarandi skipun passar við allar skrár með nöfnum sem byrja á l á eftir hverjum einum staf og endar á st.sh (sem er viðskeyti).

$ ls l?st.sh	

4. Skipunin hér að neðan passar við allar skrár með nöfnum sem byrja á l á eftir einhverjum af stöfunum í hornklofa en endar á st.sh.

$ ls l[abdcio]st.sh 

Hvernig á að sameina algildi til að passa við skráarnöfn í Linux

Þú getur sameinað algildi til að búa til flókin samsvörunarskilyrði fyrir skráarheiti eins og lýst er í eftirfarandi dæmum.

5. Þessi skipun mun passa við öll skráarnöfn með forskeyti með hvaða tveimur stöfum sem er á eftir st en endar á einum eða fleiri tilvikum af hvaða staf sem er.

$ ls
$ ls ??st*

6. Þetta dæmi passar við skráarnöfn sem byrja á einhverjum af þessum stöfum [clst] og endar á einum eða fleiri tilvikum af hvaða staf sem er.

$ ls
$ ls [clst]*

7. Í þessum dæmum eru aðeins skráarnöfn sem byrja á einhverjum af þessum stöfum [clst] á eftir einum af þessum [io] og síðan hvaða stökum staf sem er, fylgt eftir með t og að lokum verða eitt eða fleiri tilvik af hvaða staf sem er skráð.

$ ls
$ ls [clst][io]?t*

8. Hér verða skráarnöfn með forskeytinu einu eða fleiri táknum, á eftir bókstöfunum tar og endar á einu eða fleiri táknum, fjarlægð.

$ ls
$ rm *tar*
$ ls

Hvernig á að passa saman stafi í Linux

9. Nú skulum líta á hvernig á að tilgreina sett af stöfum. Íhugaðu að skráarnöfnin hér að neðan innihalda upplýsingar um kerfisnotendur.

$ ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Þessi skipun mun passa við allar skrár þar sem nafnið byrjar á users-i, fylgt eftir með tölu, lágstöfum eða tölu, síðan tölu og endar á einu eða fleiri tilvikum af hvaða staf sem er.

$ ls users-[0-9][a-z0-9][0-9]*

Næsta skipun samsvarar skráarnöfnum sem byrja á users-i, fylgt eftir með tölu, lágstöfum eða hástöfum eða tölu, síðan tölu og endar á einum eða fleiri tilvikum af hvaða staf sem er.

$ ls users-[0-9][a-zA-Z0-9][0-9]*

Þessi skipun sem fylgir mun passa við öll skráarnöfn sem byrja á users-i, fylgt eftir með tölu, lágstöfum eða hástöfum eða tölu, síðan lágstöfum eða hástöfum og endar á einu eða fleiri tilvikum af hvaða karakter sem er.

$ ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Hvernig á að afneita safn af persónum í Linux

10. Þú getur líka afneitað sett af stöfum með því að nota ! táknið. Eftirfarandi skipun sýnir öll skráarnöfn sem byrja á users-i, fylgt eftir með númeri, hvaða gildu nafnastafi sem er fyrir utan tölu, síðan lágstaf eða hástaf og endar á einu eða fleiri tilvikum karakter.

$ ls users-[0-9][!0-9][a-zA-Z]*

Það er allt í bili! Ef þú hefur prófað dæmin hér að ofan ættirðu nú að hafa góðan skilning á því hvernig jokertákn virka til að passa við skráarnöfn í Linux.

Þú gætir líka viljað lesa þessar eftirfarandi greinar sem sýna dæmi um notkun algildra tákna í Linux:

  1. Hvernig á að draga út Tar-skrár í sérstakar eða mismunandi skrár í Linux
  2. 3 leiðir til að eyða öllum skrám í möppu nema einni eða fáum skrám með viðbótum
  3. 10 gagnleg ráð til að skrifa árangursríkar Bash forskriftir í Linux
  4. Hvernig á að nota Awk og reglubundnar tjáningar til að sía texta eða streng í skrár

Ef þú hefur eitthvað til að deila eða spurningu til að spyrja, notaðu athugasemdareyðublaðið hér að neðan.