10 Praktesch Beispiller Benotzt Wildcards fir Dateinamen am Linux ze passen


Wildcards (och als Meta Charaktere bezeechent) si Symboler oder speziell Zeechen, déi aner Charaktere vertrieden. Dir kënnt se mat all Kommando benotze wéi ls Kommando oder rm Kommando fir Dateien ze lëschten oder ze läschen, déi mat engem bestëmmte Critère passen, empfindlech.

Liest och: 10 Nëtzlech Praktesch Beispiller iwwer Chaining Operators am Linux

Dës Wildcards ginn vun der Shell interpretéiert an d'Resultater ginn zréck op de Kommando deen Dir leeft. Et ginn dräi Haapt Wildcards am Linux:

  • En Asterisk (*) - entsprécht engem oder méi Optriede vun all Charakter, och kee Charakter.
  • Frozeechen (?) - representéiert oder passt op eng eenzeg Optriede vun engem Charakter.
  • Bracketed Zeechen ([ ]) - passt op all Optriede vu Charakter an de véiereckege Klammern. Et ass méiglech verschidden Zorte vu Charaktere (alphanumeresch Zeechen) ze benotzen: Zuelen, Buschtawen, aner speziell Zeechen etc.

Dir musst virsiichteg wielen wéi eng Wildcard Dir benotzt fir korrekt Dateinumm ze passen: et ass och méiglech se all an enger Operatioun ze kombinéieren wéi an de Beispiller hei ënnen erkläert.

Wéi passen Dateinumm mat Wildcards op Linux

Fir den Zweck vun dësem Artikel benotze mir folgend Dateie fir all Beispill ze demonstréieren.

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

1. Dëse Kommando entsprécht all Dateie mat Nimm, déi mat l ufänken (wat de Präfix ass) a mat engem oder méi Optriede vun engem Charakter enden.

$ ls -l l*	

2. Dëst Beispill weist eng aner Notzung vum * fir all Dateinumm ze kopéieren, déi mat Benotzer-0 virgesi sinn a mat engem oder méi Optriede vun all Charakter ophalen.

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

3. De folgende Kommando entsprécht all Dateie mat Nimm, déi mat l ufänken, gefollegt vun engem eenzege Charakter a mat st.sh ophalen (wat de Suffix ass).

$ ls l?st.sh	

4. De Kommando hei drënner entsprécht all Dateie mat Nimm, déi mat l ufänken, gefollegt vun engem vun de Charakteren an der Klammer, awer mat st.sh enden.

$ ls l[abdcio]st.sh 

Wéi kombinéiert Wildcards fir Dateinamen op Linux ze passen

Dir kënnt Wildcards kombinéieren fir e komplexe Dateinumm passende Critèren ze bauen wéi an de folgende Beispiller beschriwwen.

5. Dëse Kommando passt all Dateinumm mat all zwee Zeechen, gefollegt vun st, awer mat engem oder méi Optriede vun engem Charakter enden.

$ ls
$ ls ??st*

6. Dëst Beispill entsprécht Dateinumm, déi mat engem vun dësen Zeechen ufänken [clst] a mat engem oder méi Optriede vun engem Charakter enden.

$ ls
$ ls [clst]*

7. An dëse Beispiller, nëmmen Dateinumm déi mat engem vun dësen Zeechen ufänken [clst] gefollegt vun engem vun dësen [io] an dann all eenzel Zeechen, gefollegt vun engem t a schliisslech gëtt een oder méi Optriede vun all Charakter opgelëscht.

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

8. Hei ginn Dateinumm mat engem oder méi Optriede vun all Charakter, gefollegt vun de Buschtawen tar a mat engem oder méi Optriede vun engem Charakter enden, ewechgeholl.

$ ls
$ rm *tar*
$ ls

Wéi Match Charaktere Set am Linux

9. Loosst eis elo kucken wéi Dir e Set vu Charaktere spezifizéiert. Betruecht d'Dateiennimm hei ënnen mat System Benotzer Informatioun.

$ 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

Dëse Kommando passt all Dateien, deenen hiren Numm mat users-i ufänkt, gefollegt vun enger Nummer, engem klenge Buschtaf oder Nummer, dann eng Nummer an endet mat engem oder méi Optriede vun all Charakter.

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

De nächste Kommando passt Dateinumm un, déi mat users-i ufänken, gefollegt vun enger Nummer, engem klengen oder grousse Buschtaf oder Nummer, dann eng Nummer an endet mat engem oder méi Optriede vun all Charakter.

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

Dëse Kommando passt op all Dateinamen, déi mat users-i ufänken, gefollegt vun enger Nummer, engem klengen oder grousse Buschtaf oder Nummer, dann en klengen oder grousse Buschtaf an endet mat engem oder méi Optriede vun all Charakter.

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

Wéi negéiert e Set vu Charakteren am Linux

10. Dir kënnt och e Set vu Charaktere negéieren andeems Dir d'Symbol ! benotzt. De folgende Kommando lëscht all Dateinumm un, ugefaange mat users-i, gefollegt vun enger Nummer, all gëlteg Dateinumm Charakter ausser enger Nummer, dann e klengen oder grousse Buschtaf an endet mat engem oder méi Optriede vun all Charakter.

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

Dat ass alles fir elo! Wann Dir déi uewe genannte Beispiller probéiert hutt, sollt Dir elo e gutt Verständnis hunn wéi Wildcards funktionnéieren fir Dateinumm am Linux ze passen.

Dir kënnt och gären dës folgend Artikelen liesen déi Beispiller weisen fir Wildcards am Linux ze benotzen:

  1. Wéi extrahéiert Tar-Dateien op spezifesch oder aner Verzeechnes a Linux
  2. 3 Weeër fir all Dateien an engem Verzeechnes ze läschen ausser een oder e puer Dateie mat Extensiounen
  3. 10 Nëtzlech Tipps fir effektiv Bash Scripten op Linux ze schreiwen
  4. Wéi benotzt Dir Awk a regulär Ausdréck fir Text oder String a Dateien ze filteren

Wann Dir eppes hutt ze deelen oder eng Fro (en) ze stellen, benotzt de Kommentarformular hei ënnen.