it-swarm-ko.tech

Nant / Ant 이름 지정 패턴은 어떻게 사용합니까?

나는 항상 Nant에 대한 이름 지정 패턴의 구문 적 설명을 잊어 버렸다는 것을 인정해야합니다 (예 : 파일 세트에 사용되는 이름). 이중 별표/단일 별표 항목은 내 마음에 매우 잊을 수없는 것 같습니다.

누군가 명명 패턴에 대한 확실한 가이드를 제공 할 수 있습니까?

89
berko

규칙은 다음과 같습니다.

  • 단일 별표 (*)는 0 개 이상의 문자와 일치합니다. 경로 이름 내
  • 이중 별표 (**)는 0 개 이상의 문자와 일치합니다. 디렉토리 수준에서
  • 물음표 (?)는 경로 이름 내에서 정확히 하나의 문자와 일치합니다.

그것을 생각하는 또 다른 방법은 이중 별표 (**)는 슬래시 (/)와 일치하지만 단일 별표 (*)는 일치하지 않습니다.

파일이 있다고 가정 해 봅시다.

  1. bar.txt
  2. src/bar.c
  3. src/baz.c
  4. src/test/bartest.c

그런 다음 패턴 :

  • *.c는 아무 것도 일치하지 않습니다 (현재 디렉토리에 .c 파일이 없습니다)
  • src/*.c 2가 2와 3과 일치
  • */*.c 2는 2와 3과 일치합니다 (*는 한 수준 만 일치하므로)
  • **/*.c는 2, 3 및 4와 일치합니다 (**는 여러 수준과 일치하므로)
  • bar.* es 일치하는 1
  • **/bar.* 1는 1과 2와 일치
  • **/bar*.*는 1, 2 및 4와 일치합니다.
  • src/ba?.c는 2와 3과 일치
224
benzado

다음은 설명서에서 명확하지 않은 몇 가지 추가 패턴 일치입니다. 벤 자도의 답변에서 예제 파일에 NAnt를 사용하여 테스트했습니다.

  • src** 2 2, 3 및 4와 일치
  • **.c는 2, 3 및 4와 일치합니다
  • **ar.* 1는 1과 2와 일치
  • **/bartest.c/** es는 4와 일치합니다
  • src/ba?.c/** 2가 2와 3과 일치
14
sparkplug

이중 별표 (**)는 폴더 이름이 일치하는 반면 단일 기호는 별표 (* = multi characters) 및 물음표 (? = single character)는 파일 이름을 일치시키는 데 사용됩니다.

Nant reference 를 확인하십시오. 파일 세트 패턴은 다음과 같습니다.

'*'는 0 개 이상의 문자와 일치합니다 (예 : * .cs
'?' 한 문자와 일치합니다 (예 : ? .cs

그리고 '**'는 디렉토리 트리와 일치합니다. src/**/*. cs는 src의 하위 디렉토리에서 모든 cs 파일을 찾습니다.

3
Andy Whitfield