Megosztás a következőn keresztül:


Fájlegyeztetési minták referenciája

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Minta szintaxisa

A minta az új vonallal tagolt sztringek vagy lista. A fájl- és könyvtárnevek olyan mintákkal vannak összehasonlítva, amelyek belefoglalják (vagy néha kizárják) őket egy feladatba. Összetett viselkedést több minta halmozásával hozhat létre. Tekintse meg a teljes szintaxisra vonatkozó útmutató eltérését .

Karakterek egyeztetése

A legtöbb karakter pontos egyezésként használatos. Ami "pontos" egyezésnek számít, az platformfüggő: a Windows fájlrendszer kis- és nagybetűket nem érzékelyítő, ezért az "ABC" minta egy "abc" nevű fájlnak felel meg. A kis- és nagybetűket megkülönböztető fájlrendszerek esetében ez a minta és név nem egyezik meg.

A következő karakterek speciális viselkedést igényelnek.

  • * egy fájl vagy könyvtárnév nulla vagy több karakterének felel meg. Lásd a példákat.
  • ? egy fájl vagy könyvtárnév egyetlen karakterének felel meg. Lásd a példákat.
  • [] egy fájl- vagy könyvtárnéven belüli karakterkészletet vagy -tartományt egyezik meg. Lásd a példákat.
  • ** rekurzív helyettesítő karakter. Például egyezik az /hello/**/* összes leszármazottja /hello.

Kiterjesztett globbing

  • ?(hello|world) - egyezés vagy hello world nulla vagy egyszer
  • *(hello|world) - nulla vagy több előfordulás
  • +(hello|world) - egy vagy több előfordulás
  • @(hello|world) - pontosan egyszer
  • !(hello|world) - nem hello vagy world

Vegye figyelembe, hogy a kiterjesztett globok nem adhatók át a címtárelválasztókra. Például +(hello/world|other) érvénytelen.

Megjegyzések

A kezdési # minták megjegyzésként lesznek kezelve.

Minták kizárása

A bevezető ! módosítja a kizárandó belefoglalási minta jelentését. Felvehet egy mintát, kizárhatja annak egy részhalmazát, majd újra belefoglalhatja annak egy részhalmazát: ez az úgynevezett "interleaved" minta.

Több ! megfordítja a jelentést. Lásd a példákat.

A kizárás előtt meg kell határoznia egy belefoglalási mintát. Lásd a példákat.

Menekülés

A speciális karakterek [] körbefuttatásával elkerülheti a fájlnévben szereplő literális glob karaktereket. A literális fájlnév hello[a-z] például a következőképpen szökhet meg hello[[]a-z].

Perjel

/ linuxos és macOS rendszeren az elérésiút-elválasztóként használatos. A Legtöbb esetben a Windows-ügynökök elfogadják /. A Rendszer dokumentálja azokat az eseteket, amikor a Windows-elválasztót (\) használni kell.

Példák

Példák alapszintű mintákra

Példák csillagra

1. példa: A minta *Website.sln és a fájlok alapján:

ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln

A minta a következőnek felelne meg:

ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln

2. példa: A minta *Website/*.proj és az útvonalak alapján:

ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj

A minta a következőnek felelne meg:

ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj

Kérdőjelek – példák

1. példa: A minta log?.log és a fájlok alapján:

log1.log
log2.log
log3.log
script.sh

A minta a következőnek felelne meg:

log1.log
log2.log
log3.log

2. példa: A minta image.??? és a fájlok alapján:

image.tiff
image.png
image.ico

A minta a következőnek felelne meg:

image.png
image.ico

Példa karakterkészletre

1. példa: A minta Sample[AC].dat és a fájlok alapján:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat

A minta a következőnek felelne meg:

SampleA.dat
SampleC.dat

2. példa: A minta Sample[A-C].dat és a fájlok alapján:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat

A minta a következőnek felelne meg:

SampleA.dat
SampleB.dat
SampleC.dat

3. példa: A minta Sample[A-CEG].dat és a fájlok alapján:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat

A minta a következőnek felelne meg:

SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat

Rekurzív helyettesítő karakterek példái

A minta **/*.ext és a fájlok alapján:

sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not

A minta a következőnek felelne meg:

sample1/A.ext
sample1/B.ext
sample2/C.ext

Példaminták kizárása

A minta alapján:

*
!*.xml

és fájlok:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

A minta a következőnek felelne meg:

ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb

Dupla kizárás

A minta alapján:

*
!*.xml
!!Fabrikam.xml

és fájlok:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

A minta a következőnek felelne meg:

ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

Mappa kizárása

A minta alapján:

**
!sample/**

és fájlok:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml

A minta a következőnek felelne meg:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml