Cho phép nói rằng tôi có một thư mục với jpeg-file sau:bash filename globbing - hoạt động trên các tập tin bắt đầu với vốn
adfjhu.jpg Afgjo.jpg
Bdfji.jpg bkdfjhru.jpg
Cdfgj.jpg cfgir.jpg
Ddfgjr.jpg dfgjrr.jpg
Làm thế nào để loại bỏ hoặc liệt kê các tập tin bắt đầu với số vốn?
Điều này có thể được giải quyết với sự kết hợp của find
, grep
và xargs
.
Nhưng có thể kết hợp kiểu tập tin/mẫu hình bình thường trong bash?
cmd bên dưới không hoạt động do thực tế (theo như tôi có thể biết) LANG được đặt thành en_US
và thứ tự đối chiếu.
$ ls [A-Z]*.jpg
Afgjo.jpg Bdfji.jpg bkdfjhru.jpg Cdfgj.jpg cfgir.jpg Ddfgjr.jpg dfgjrr.jpg
này loại công trình
$ ls +(A|B|C|D)*.jpg
Afgjo.jpg Bdfji.jpg Cdfgj.jpg Ddfgjr.jpg
Nhưng tôi không muốn làm điều này cho tất cả các ký tự A-Z cho một giải pháp chung!
Vậy điều này có khả thi không?
cổ vũ // Fredrik
Điều thú vị đủ, trên hộp Linux của tôi với LANG thiết lập để "en_US.UTF-8" "ls [AZ] *" mang đến cho tất cả những trường hợp thấp hơn là tốt, nhưng trên Macintosh của tôi với LANG được đặt thành "en_US.UTF-8", "ls [AZ] *" chỉ cung cấp tên trường hợp uppper. Trên cả hai hộp là LC_COLLATE, vì vậy tôi không biết sự khác biệt là gì. –