Estoy tratando de encontrar todos los archivos cuyo nombre comienza con una letra mayúscula. He intentado usar el siguiente comando:
find . -type f -regex '.*\/[A-Z][^/]*'
Se trata de encontrar caminos con solo letras minúsculas. Los siguientes trabajos:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Al igual que:
find . -type f | grep '.*\/[A-Z][^/]*$'
He probado todas las diferentes opciones para regextype, con el mismo resultado.
¿Por qué findincluye letras minúsculas [A-Z]? Pensé que la expresión regular para eso era [a-zA-Z]. ¿Hay alguna forma de especificar un rango de solo letras mayúsculas find?
Eso funciona. ¿Podría explicar por qué en una respuesta?
—
Karl Bielefeldt
Podría intentarlo, pero entonces podrías perderte esto .
—
mikeserv
¿Por qué escapas de la barra (
—
Cristian Ciupitu
\/)? ¿Qué hallazgo estás usando ( find --version)?
Escapar
—
deltab
/solo es necesario cuando lo está utilizando como delimitador, por ejemplo, en s/foo\/bar/foobar/. (Pero a menudo puede usar algún otro delimitador:. s#foo/bar#foobar#)
LC_ALL=C find ...?