Lär dig Linux

Jokertecken i Linux förklaras med 10 exempel

Jokertecken i Linux förklaras med 10 exempel

Jokertecken, a.k.a. metatecken, är en gudagåva när det gäller att söka efter specifika filnamn från en hög med liknande namngivna filer. Till exempel, genom att använda jokertecken i Linux, kan du använda ls kommando,  rm kommando eller något annat Linux-kommando för den delen, på flera filer så länge de matchar de definierade kriterierna.

I den här läsningen kommer vi att diskutera hur du kan använda jokertecken i Linux för att effektivisera ditt arbetsflöde och bli mer produktiva. Men först, låt oss ta en snabb titt på de mest kraftfulla och vanliga jokertecken i Linux:

  1. Asterisken (*): (*) jokertecken representerar valfritt antal okända tecken. Detta är användbart när du söker efter dokument eller filer men bara kommer ihåg en del av dess namn.
  2. Frågetecknet (?): (?) jokertecken representerar bara en okänd karaktär. Det här är användbart när du har en lista med filer med samma namn och är osäker på några tecken.
  3. De hakade karaktärerna ([]): ([]) jokertecken - den tredje parentesen och inte den första parentesen - används för att matcha alla förekomster av tecken som definierats inom parenteserna. Det här alternativet är praktiskt när du hanterar stora och små bokstäver, vilket vi kommer att se senare.

Nu inser jag att all denna information inte är meningsfull om du aldrig har handlat med jokertecken tidigare. För att hjälpa dig att rensa din förvirring har vi dock sammanställt en detaljerad guide, inklusive tio exempel, för att se till att du förstår funktionen av jokertecken och börjar använda dem själv.

Exempel på matchande filnamn med jokertecken

För att börja, låt oss använda alla olika jokertecken som vi diskuterade tidigare och se hur man använder dem för att matcha filnamn. För att göra detta använder vi följande uppsättning filer:

  1. Detta kommando matchar alla filnamn som börjar med bokstaven M och slutar med en eller flera förekomster av vilken karaktär som helst.
$ ls -l M *

Produktion:

Lägg märke till hur det bara matchar filerna som börjar med versaler "M" och inte små "m". 

2. Detta kommando kopierar alla filnamn som börjar med Min data och slutar med en eller flera förekomster av vilken karaktär som helst.

$ ls My-Data *

Produktion:

3. Detta kommando matchar alla filer som börjar med bokstaven M, slutar med bokstaven N, och har något 1 tecken däremellan.

$ ls M?N.sh

Produktion:

4. Detta kommando matchar alla filer som börjar med bokstaven M, slutar med bokstaven N, men med bara 1 tecken däremellan tillhör listan över tecken som definieras inom hakparenteserna [AEIOU].

$ ls M [AEIOU] N.sh

Produktion:

4 exempel på att kombinera olika jokertecken för att matcha filnamn

Nu, för att turboladda din effektivitet, kan du blanda och matcha dessa jokertecken för att arbeta tillsammans och vara mer effektiva när det gäller att matcha filnamn.

  1. Här är ett kommando som hjälper dig att hitta alla filnamn som kan innehålla tre tecken (inklusive inga tecken) följt av kaka och slutar med en eller flera förekomster av vilken karaktär som helst.
$ ls ???kaka*

Produktion:

2. Här är ett kommando som matchar alla filnamn som börjar med något av dessa tecken inom hakparenteserna [MNLOP] och slutar med en eller flera förekomster av vilken karaktär som helst.

Låt oss också se vad som händer när vi byter ut [MNLOP] med [mnlop].

Så kommandona vi kommer att använda är:

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

Produktion:

Som du kan se måste du vara medveten om stora och små bokstäver som du anger i parentes-jokertecken eftersom det kommer att påverka resultatet.

3. Här är ett kommando som matchar alla filnamn med något av dessa tecken [MNLOP] som den första, någon av dessa karaktärer [AEIOU] som den andra, följt av N, och slutligen slutar med en eller flera förekomster av vilken karaktär som helst.

$ ls [MNLOP] [AEIOU] N *

Produktion:

Lägg märke till hur (*) jokertecken hjälper bara till att hitta alla filnamnstillägg.4.

Här är ett kommando som matchar alla filnamn som börjar med en eller flera förekomster av vilken karaktär som helst som leder till M, följt av valfritt 1 tecken, följt av N, och slutar sedan med en eller flera förekomster av vilken karaktär som helst.

$ ls * M?N *

Produktion:

Använda jokertecken för att matcha teckenuppsättningen

Nu bör du ha en fungerande förståelse för hur jokertecken fungerar. Vi kan nu fokusera på några avancerade användningsfall där jokertecken är ovärderliga.

Till exempel parentes jokertecken låter dig definiera ett antal tecken med [-] istället för att skriva ut varje karaktär. Detta kan vara extremt användbart när du vill ange en uppsättning tecken och matcha filnamn baserat på var karaktärerna visas. 

För att göra detta använder vi följande uppsättning filer, som visas på bilden:

Som du kan se är bilden vi har skapat en lista med filer som innehåller olika Pokemon-data.

Nu för att hitta alla filnamn som börjar med pokemon- följt av ett nummer, sedan valfritt alfanumeriskt tecken, återigen följt av ett nummer, och slutar med en eller flera förekomster av vilket tecken som helst, kan vi använda följande kommando:

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

Produktion:

Delen [0-9] representerar alla numeriska tecken mellan 0 till 9

Nästa del [0-9a-zA-Z] representerar valfritt antal tecken mellan 0 till 9, eller någon gemener mellan a till z, eller en stor bokstav mellan A till Z.

Som sådan, om vi stänger av [0-9a-zA-Z] med [0-9a-z], Du kan se att resultatet inte innehåller något filnamn med stora bokstäver i angiven position.

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

Produktion:

Använda jokertecken för att negera en uppsättning tecken

Som om du kan ange en uppsättning tecken kan du också negera en uppsättning tecken medan du matchar för filnamn. Här är ett exempel på hur det görs:

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

Produktion:

Detta matchar alla filnamn som börjar med pokemon- följt av ett numeriskt tecken, sedan av ett annat tecken än små bokstäver, följt av ett numeriskt tecken och slutligen slutar med en eller flera förekomster av något tecken.

Använder sig av [!a-z], vi förnekar uppsättningen av alla små bokstäver. Nu matchas filnamnen för alla tecken som inte är små bokstäver.

Avslutar

Så det tar oss till slutet av vår snabba titt på Linux jokertecken och hur man använder dem. Sammanfattar allt, i ett nötskal, asterisk (*) jokertecken är mest användbart när du känner till filnamnet men inte tillägget. De frågetecken (?) jokertecken kan hjälpa dig om du glömmer några filnamnstecken. De fäste ([]) jokertecken är användbart när du vill innehålla din sökning inom en uppsättning definierade tecken.

Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...