Ich versuche, alle Dateien zu finden, deren Name mit einem Großbuchstaben beginnt. Ich habe versucht, den folgenden Befehl zu verwenden:
find . -type f -regex '.*\/[A-Z][^/]*'
Es sucht nach Pfaden, die nur Kleinbuchstaben enthalten. Die folgenden Arbeiten:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Ebenso wie:
find . -type f | grep '.*\/[A-Z][^/]*$'
Ich habe alle verschiedenen Optionen für ausprobiert regextype
, mit dem gleichen Ergebnis.
Warum find
werden Kleinbuchstaben eingefügt [A-Z]
? Ich dachte die Regex dafür wäre [a-zA-Z]
. Gibt es eine Möglichkeit, einen Bereich von nur Großbuchstaben in anzugeben find
?
\/
)? Welchen Fund verwendest du auch ( find --version
)?
/
ist nur erforderlich, wenn Sie es als Trennzeichen verwenden, z s/foo\/bar/foobar/
. B. in . (Aber oft können Sie ein anderes Trennzeichen verwenden:. s#foo/bar#foobar#
)
LC_ALL=C find ...
?