Tôi đang cố gắng tìm tất cả các tệp có tên bắt đầu bằng chữ in hoa. Tôi đã thử sử dụng lệnh sau:
find . -type f -regex '.*\/[A-Z][^/]*'
Đó là tìm đường dẫn chỉ có chữ thường. Các công việc sau đây:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Cũng như:
find . -type f | grep '.*\/[A-Z][^/]*$'
Tôi đã thử tất cả các tùy chọn khác nhau regextype
, với cùng một kết quả.
Tại sao không find
bao gồm chữ thường trong [A-Z]
? Tôi nghĩ rằng regex cho điều đó là [a-zA-Z]
. Có cách nào để chỉ định một phạm vi chỉ các chữ cái in hoa find
không?
Điều đó làm việc. Bạn có thể giải thích tại sao trong một câu trả lời?
—
Karl Bielefeldt
Tôi có thể thử, nhưng sau đó bạn có thể bỏ lỡ điều này .
—
mikeerv
Tại sao bạn thoát khỏi dấu gạch chéo (
—
Cristian Ciupitu
\/
)? Ngoài ra những gì tìm thấy bạn đang sử dụng ( find --version
)?
Thoát
—
deltab
/
chỉ cần thiết khi bạn đang sử dụng nó như một dấu phân cách, ví dụ như trong s/foo\/bar/foobar/
. (Nhưng thường thì bạn có thể sử dụng một số dấu phân cách khác : s#foo/bar#foobar#
.)
LC_ALL=C find ...
?