Õpi Linuxit

Linuxi metamärgid on selgitatud 10 näitega

Linuxi metamärgid on selgitatud 10 näitega

Metamärgid, a.k.a. metamärgid on jumalakartus, kui on vaja otsida konkreetseid failinimesid sarnaste nimedega failide hunnikust. Näiteks kasutades Linuxis metamärke, saate kasutada ls käsk,  rm või mis tahes muu Linuxi käsk selles küsimuses mitmel failil, kui need vastavad määratletud kriteeriumidele.

Selles loendis arutleme selle üle, kuidas saate Linuxis kasutada asendusmärke oma töövoo sujuvamaks muutmiseks ja tootlikumaks muutmiseks. Kuid kõigepealt vaatame kiiresti Linuxi kõige võimsamaid ja sagedamini kasutatavaid metamärke:

  1. Tärn (*): (*) metamärk tähistab suvalist arvu tundmatuid tähemärke. See on kasulik dokumentide või failide otsimisel, kuid jääb meelde vaid osa selle nimest.
  2. Küsimärk (?): (?) metamärk tähistab ainult üht tundmatut tähemärki. See on kasulik, kui teil on sarnaste nimedega failide loend ja te pole kindel mõne tähemärgi osas.
  3. Sulgudes olevad märgid ([]): ([]) metamärki - 3. ja mitte 1. sulg - kasutatakse sulgudes määratletud tähemärkide esinemise sobitamiseks. See valik on mugav suurte ja väikeste failide käsitlemisel, nagu näeme hiljem.

Nüüd mõistan, et kogu sellel infol pole mõtet, kui te pole varem metamärkidega tegelenud. Kuid teie segaduse kõrvaldamiseks oleme kokku pannud üksikasjaliku juhendi, mis sisaldab 10 näidet, et veenduda, et mõistate metamärkide funktsiooni õigesti ja hakkate neid ise kasutama.

Näited failinimede sobitamisest metamärkide abil

Alustuseks kasutame kõiki erinevaid metamärke, millest me varem rääkisime, ja uurime, kuidas neid failinimede sobitamiseks kasutada. Selleks kasutame järgmist failikomplekti:

  1. See käsk sobib kõigi tähega algavate failinimedega M ja lõpetades ühe või mitme mis tahes tähemärgi esinemisega.
$ ls -l M *

Väljund:

Pange tähele, kuidas see sobib ainult failidega, mis algavad suurtähega “M”, mitte väiketähega “m”. 

2. See käsk kopeerib kõik failinimed algusega Minu andmed ja lõpetades ükskõik millise märgi ühe või mitme esinemisega.

$ ls minu andmed *

Väljund:

3. See käsk sobib kõigi tähega algavate failidega M, lõpeb tähega N, ja mille vahel on üks tähemärk.

$ ls M?N.sh

Väljund:

4. See käsk sobib kõigi tähega algavate failidega M, lõpeb tähega N, kuid nende vahel on ainult 1 märk, kuulub nurksulgudes määratletud märkide loendisse [AEIOU].

$ ls M [AEIOU] N.sh

Väljund:

4 näidet erinevate metamärkide kombineerimise kohta failinimedele vastamiseks

Nüüd saate oma efektiivsuse suurendamiseks neid metamärke omavahel kokku sobitada ja failinimede sobitamisel tõhusam olla.

  1. Siin on käsk, mis aitab teil leida mis tahes failinime, millel võib olla mis tahes 3 tähemärki (kaasa arvatud tähemärki), millele järgneb kook ja lõpetades ühe või mitme mis tahes tähemärgi esinemisega.
$ ls ???kook*

Väljund:

2. Siin on käsk, mis sobib kõigi nurksulgudes olevate nende tähtedega algavate failinimedega [MNLOP] ja lõpevad ühe või mitme mis tahes tähemärgi esinemisega.

Vaatame ka, mis juhtub, kui asendame [MNLOP] koos [mnlop].

Kasutatavad käsud on järgmised:

$ ls [MNLOP] *
$ ls [mnlop] *

Väljund:

Nagu näete, peate olema teadlik sulgude metamärki sisestatud tähtede suurtest ja väikestest tähtedest, kuna see mõjutab tulemust.

3. Siin on käsk, mis sobib kõigi failinimedega nende märkidega [MNLOP] esimesena mõni neist tegelastest [AEIOU] teiseks, millele järgneb N, ja lõpuks üks või mitu ükskõik millise tähemärgi esinemist.

$ ls [MNLOP] [AEIOU] N *

Väljund:

Pange tähele, kuidas (*) metsamärk aitab ainult leida kõiki failinimede laiendeid.4.

Siin on käsk, mis sobib kõigi failinimedega ja algab ühe või mitme esineva tähemärgi esinemisega M, järgneb suvaline 1 märk, millele järgneb N, ja siis lõpetades ühe või mitme mis tahes tähemärgi esinemisega.

$ ls * M?N *

Väljund:

Tähemärkide komplekti sobitamiseks asendusmärkide kasutamine

Nüüd peaks teil olema toimiv arusaam metamärkide toimimisest. Nüüd saame keskenduda mõnele edasijõudnud kasutamise juhtumile, kus metamärgid on hindamatud.

Näiteks sulgudes metamärk võimaldab määratleda märkide vahemiku kasutades [-] selle asemel, et iga märk välja trükkida. See võib olla äärmiselt kasulik, kui soovite määrata tähemärkide komplekti ja sobitada failinimed vastavalt sellele, kus tähemärgid ilmuvad. 

Selleks kasutame järgmist failikomplekti, nagu pildil näidatud:

Nagu näete, on meie loodud pilt failide loend, mis sisaldab erinevaid Pokemoni andmeid.

Nüüd leiate kõik algavad failinimed pokemon- millele järgneb number, seejärel mis tahes tähtnumbriline märk, millele järgneb jällegi number ja mis lõpeb siis suvalise märgi ühe või mitme esinemisega, saame kasutada järgmist käsku:

$ ls pokemon- [0-9] [0-9a-zA-Z] [0-9] *

Väljund:

Osa [0–9] tähistab suvalisi numbrimärke 0 kuni 9

Järgmine osa [0-9a-zA-Z] tähistab suvalist arvu tähemärke 0 kuni 9, või mis tahes väiketäht nende vahel a kuni z, või suurtäht nende vahel A kuni Z.

Sellisena, kui me välja lülitame [0-9a-zA-Z] koos [0-9a-z], näete, et tulemus ei sisalda ühtegi failinime, kus suured tähed oleksid määratud kohas.

$ ls pokemon- [0-9] [0-9a-z] [0-9] *

Väljund:

Märkide komplekti arutamiseks asendusmärkide kasutamine

Nagu märkide komplekti määramine, saab ka failinimede sobitamisel märkide komplekti eitada. Siin on näide, kuidas seda tehakse:

$ ls pokemon- [0-9] [!a-z] [0–9] *

Väljund:

See sobib kõigi algavate failinimedega pokemon- järgneb suvaline numbrimärk, seejärel mis tahes muu täht peale väiketähtede, millele järgneb mis tahes numbrimärk ja lõpuks üks või mitu suvalise tähemärgi esinemist.

Kasutamine [!a-z], eitame kõigi väiketähtede hulga. Nüüd sobitatakse failinimed iga tähemärgi jaoks, mis pole väike täht.

Pakkimine

Nii jõuame Linuxi metamärkide ja nende kasutamise kiire vaatamiseni. Lühidalt kokku võttes kõik tärn (*) metamärk on kõige kasulikum, kui teate failinime, kuid mitte laiendit. The küsimärk (?) metamärk võib teid aidata, kui unustate mõne failinime tähemärgi. The sulg ([]) metamärk on kasulik, kui soovite oma otsingut sisaldada määratletud tähemärkide komplektis.

10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...