2 votos

Uso de regex con find

Necesito mover todos los archivos que comienzan con iCloud y de .zip extensión (usando find). Después de leer varias páginas sobre regex, todavía no puedo hacer que funcione.

Este es el resultado:

~/Downloads$ find -E . *.zip
HP_Easy_Start.app.zip
OneDrive_1_09-04-2022.zip
OneDrive_2022-05-04.zip
OneDrive_4_08-04-2022.zip
WhatsApp Unknown 2022-04-27 at 19.25.32.zip
iCloud Photos-2.zip
iCloud Photos-3.zip
iCloud Photos.zip
t.0.zip
logo.zip

Ahora, cuando intento cualquier combinación que empiece por ^iCl no funciona. Me sale:

~/Downloads$ find -E . ^i                                                     1
find: ^i: No such file or directory

¿Alguna razón para ello?

4voto

John Palmieri Puntos 111

Creo que necesitas find -E . [stuff] para contar find para buscar en el directorio actual: find requiere la ruta a buscar como argumento. A continuación, [stuff] también debe modificarse: la documentación de find dice

 -E      Interpret regular expressions followed by -regex and -iregex
         primaries as extended (modern) regular expressions...

Por lo tanto, es necesario incluir -regex . Luego dice

 -regex pattern
         True if the whole path of the file matches pattern using regular
         expression.  To match a file named "./foo/xyzzy", you can use the
         regular expression ".*/[xyz]*" or ".*/foo/.*", but not "xyzzy" or
         "/foo/".

Así que ^i no coincidirá con nada: las rutas serán de la forma ./iCloud... Así que podrías hacer find -E . -regex "./iC.*" . Si tienes muchos directorios y subdirectorios - por ejemplo, si estás haciendo esto desde tu directorio personal, con Library , Music , Pictures y otros directorios con muchas entradas, es posible que también quiera añadir -maxdepth 1 para evitar que la búsqueda entre en esos directorios.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X