Adı büyük harfle başlayan tüm dosyaları bulmaya çalışıyorum. Aşağıdaki komutu kullanarak denedim:
find . -type f -regex '.*\/[A-Z][^/]*'
Sadece küçük harfli yollar buluyor. Aşağıdaki işler:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Olduğu gibi:
find . -type f | grep '.*\/[A-Z][^/]*$'
regextype
Aynı sonuçla tüm farklı seçenekleri denedim .
Neden find
küçük harfler içeriyor [A-Z]
? Bunun için normal ifade olduğunu düşündüm [a-zA-Z]
. Yalnızca büyük harf aralığını belirtmenin bir yolu var mı find
?
Bu çalışır. Neden bir cevapta açıklayabilir misiniz?
—
Karl Bielefeldt
Deneyebilirim, ama sonra bunu kaçırabilirsin .
—
mikeserv
Neden eğik çizgiden (
—
Cristian Ciupitu
\/
) kaçıyorsunuz ? Ayrıca ( ) ne buluyorsunuzfind --version
?
Çıkış
—
:.
/
, yalnızca sınırlayıcı olarak kullandığınızda gereklidir, örn s/foo\/bar/foobar/
. (Ama genellikle başka bir sınırlayıcı kullanabilirsiniz s#foo/bar#foobar#
LC_ALL=C find ...
?