3 votos

¿Cómo funciona el "buscar-regex" de Apple?

Estoy tratando de crear una expresión -regex para encontrar en macOS.

 find /Users/gerben/Library -regex '.*\(cisco\).*' -print 2>/dev/null
 

trabaja, y tambien

 find /Users/gerben/Library -regex '.*\(citrix\).*' -print 2>/dev/null
 

en el sentido de que ambos encuentran archivos. Ahora trato

 find /Users/gerben/Library -regex '.*\(cisco|citrix\).*' -print 2>/dev/null
 

y nada se encuentra. Ni tampoco

 find /Users/gerben/Library -regex '.*\(cisco\|citrix\).*' -print 2>/dev/null
 

ni ninguna otra variación con {} escapes y lo que no he intentado. ¿Qué estoy haciendo mal?

5voto

hjdm Puntos 18

Puedes usar -E flag, desde man:

-E Interpreta las expresiones regulares seguidas de -regex y -iregex primarias como expresiones regulares extendidas (modernas) en lugar de expresiones regulares básicas (BRE). La página del manual re_format (7) describe completamente ambos formatos.

En este caso, su comando find se verá así:

 find -E ~/Library -regex '.*(citrix|cisco).*' -print 2>/dev/null
 

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