ZSH: Globbing các tệp N đầu tiên theo một đường dẫn theo thứ tự từ điển


7

Tôi đã tự hỏi nếu có một cách để xác định N tập tin đầu tiên trong một thư mục nhất định trong zsh.

Tôi quan tâm đến các giải pháp cho phép liệt kê đệ quy (tức là bất kỳ tệp nào đệ quy bên dưới một đường dẫn được xem xét cho phép liệt kê) và không đệ quy (chỉ những tệp được xem xét trong một thư mục nhất định).

Cảm ơn!

Câu trả lời:


11

Đó là zsh, vì vậy thực sự có một vòng loại toàn cầu cho điều đó.

echo *([1,42])         # The first 42 files in the current directory, in lexicographic order
echo **/*([1,42])      # The first 42 files in a depth-first traversal
echo **/*(od[1,42])    # The first 42 files in a breadth-first traversal

Các vòng loại khác có thể hữu ích, ví dụ biểu thức sau bao gồm các tệp chấm ( D), giới hạn các tệp thông thường ( .) và các liên kết tượng trưng ( -) cho các tệp thông thường và mở rộng thành một danh sách trống nếu không có kết quả khớp ( N):

echo *(-.DN[1,42])
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.