Dosya eşleştirme desenleri başvurusu

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Desen söz dizimi

Desen, yeni satırla ayrılmış dizelerin bir dizesi veya listesidir. Dosya ve dizin adları, bunları göreve dahil etmek (veya bazen hariç tutmak) için desenlerle karşılaştırılır. Birden çok deseni yığarak karmaşık davranışlar oluşturabilirsiniz. Tam söz dizimi kılavuzu için bkz . fnmatch .

Karakterleri eşleştir

Karakterlerin çoğu tam eşleşme olarak kullanılır. "Tam" eşleşme olarak sayılan şey platforma bağlıdır: Windows dosya sistemi büyük/küçük harfe duyarlı değildir, bu nedenle "ABC" deseni "abc" adlı bir dosyayla eşleşir. Büyük/küçük harfe duyarlı dosya sistemlerinde bu düzen ve ad eşleşmez.

Aşağıdaki karakterlerin özel davranışları vardır.

  • * bir dosya veya dizin adı içindeki sıfır veya daha fazla karakterle eşleşir. Örneklere bakın.
  • ? bir dosya veya dizin adı içindeki tek bir karakterle eşleşir. Örneklere bakın.
  • [] bir dosya veya dizin adı içindeki bir dizi veya karakter aralığıyla eşleşir. Örneklere bakın.
  • ** özyinelemeli joker karakter. Örneğin, öğesinin /hello/**/* tüm alt öğeleriyle eşleşir /hello.

Genişletilmiş globbing

  • ?(hello|world) - eşleşmeler hello veya world sıfır veya bir kez
  • *(hello|world) - sıfır veya daha fazla oluşum
  • +(hello|world) - bir veya daha fazla oluşum
  • @(hello|world) - tam olarak bir kez
  • !(hello|world) - değil hello veya world

Genişletilmiş glob'ların dizin ayırıcılarına yayılamayacağını unutmayın. Örneğin, +(hello/world|other) geçerli değil.

Yorumlar

ile # başlayan desenler açıklama olarak değerlendirilir.

Dışlama desenleri

Başta ! dahil etme deseninin anlamını dışlamak için değiştirir. Bir desen ekleyebilir, bir alt kümesini dışlayabilir ve ardından bunun bir alt kümesini yeniden ekleyebilirsiniz: bu, "araya katılmış" desen olarak bilinir.

Birden çok ! , anlamı çevirir. Örneklere bakın.

Dışlamadan önce ekleme deseni tanımlamanız gerekir. Örneklere bakın.

Kaçan

içindeki [] özel karakterleri sarmalama, bir dosya adındaki değişmez değer glob karakterlerini kaçış olarak kullanmak için kullanılabilir. Örneğin, değişmez dosya adı hello[a-z] olarak hello[[]a-z]kaçılabilir.

Eğik çizgi

/ , Linux ve macOS'ta yol ayırıcı olarak kullanılır. Çoğu zaman Windows aracıları kabul olur /. Windows ayırıcısının (\) kullanılması gereken durumlar belgelenir.

Örnekler

Temel desen örnekleri

Yıldız örnekleri

Örnek 1: Desen *Website.sln ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln

Örnek 2: Desen *Website/*.proj ve yollar göz önünde bulundurulduğunda:

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

Desen eşleşir:

ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj

Soru işareti örnekleri

Örnek 1: Desen log?.log ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

log1.log
log2.log
log3.log

Örnek 2: Desen image.??? ve dosyalar göz önünde bulundurulduğunda:

image.tiff
image.png
image.ico

Desen eşleşir:

image.png
image.ico

Karakter kümesi örnekleri

Örnek 1: Desen Sample[AC].dat ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

SampleA.dat
SampleC.dat

Örnek 2: Desen Sample[A-C].dat ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

SampleA.dat
SampleB.dat
SampleC.dat

Örnek 3: Desen Sample[A-CEG].dat ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

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

Özyinelemeli joker karakter örnekleri

Desen **/*.ext ve dosyalar göz önünde bulundurulduğunda:

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

Desen eşleşir:

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

Dışlama deseni örnekleri

Desene göre:

*
!*.xml

ve dosyaları:

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

Desen eşleşir:

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

Çift dışlama

Desene göre:

*
!*.xml
!!Fabrikam.xml

ve dosyaları:

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

Desen eşleşir:

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

Klasör dışlama

Desene göre:

**
!sample/**

ve dosyaları:

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

Desen eşleşir:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml