it-swarm-vi.tech

Làm cách nào để sử dụng mẫu đặt tên của Nam / Kiến?

Tôi phải thừa nhận rằng tôi luôn quên các nội dung cú pháp của các kiểu đặt tên cho Nant (ví dụ: các mẫu được sử dụng trong các tập tin). Dấu hoa thị kép/dấu hoa thị đơn dường như rất đáng quên trong tâm trí của tôi.

Ai đó có thể cung cấp một hướng dẫn dứt khoát cho các mẫu đặt tên?

89
berko

Các quy tắc là:

  • một ngôi sao đơn (*) khớp với 0 hoặc nhiều ký tự trong tên đường dẫn
  • một ngôi sao đôi (**) khớp với 0 hoặc nhiều ký tự trên các cấp thư mục
  • một dấu hỏi (?) khớp chính xác với một ký tự trong tên đường dẫn

Một cách khác để suy nghĩ về nó là sao đôi (**) khớp với dấu gạch chéo (/) nhưng sao đơn (*) thì không.

Giả sử bạn có các tệp:

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

Sau đó, các mẫu:

  • *.c Không khớp với gì (không có tệp .c trong thư mục hiện tại)
  • src/*.c Khớp 2 và 3
  • */*.c Khớp 2 và 3 (vì * chỉ khớp với một cấp)
  • **/*.c Khớp với 2, 3 và 4 (vì ** khớp với bất kỳ số cấp nào)
  • bar.* Khớp 1
  • **/bar.* Khớp 1 và 2
  • **/bar*.* khớp 1, 2 và 4
  • src/ba?.c khớp 2 và 3
224
benzado

Dưới đây là một vài mẫu phù hợp bổ sung không rõ ràng từ tài liệu này. Đã kiểm tra bằng NAnt cho các tệp ví dụ trong câu trả lời của benzado:

  • src** Khớp 2, 3 và 4
  • **.c Khớp 2, 3 và 4
  • **ar.* Khớp 1 và 2
  • **/bartest.c/** Khớp 4
  • src/ba?.c/** Khớp 2 và 3
14
sparkplug

Dấu sao đôi (**) được liên kết với khớp tên thư mục, trong khi các ký hiệu đơn hoa thị (* = multi characters) cũng như dấu chấm hỏi (? = single character) được sử dụng để khớp với tên tệp.

4

Kiểm tra tham khảo tiếng Nam . Các mẫu tập tin là:

'*' khớp với 0 hoặc nhiều ký tự, ví dụ: * .cs
[.__.] '?' khớp với một ký tự, ví dụ: ? .cs

Và '**' khớp với cây thư mục, ví dụ: src/**/*. cs sẽ tìm thấy tất cả các tệp cs trong bất kỳ thư mục con nào của src.

3
Andy Whitfield