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][^/]*$'
regextypeAynı sonuçla tüm farklı seçenekleri denedim .
Neden findküçü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 ...?