ack - ubicacion - reemplazar u omitir archivos windows 10
ack: excluye solo un directorio pero mantiene todos los demás con el mismo nombre (2)
Las versiones anteriores de ack solo pueden tomar el nombre de la carpeta, no la ruta de la carpeta. A partir de la versión 1.93_02, agregaron esta habilidad en:
1.93_02 Wed Oct 6 21:39:58 CDT 2010 [ENHANCEMENTS] The --ignore-dir option now can ignore entire paths relative to your current directory. Thanks to Nick Hooey. For example: ack --ignore-dir=t/subsystem/test-data
(De betterthangrep.com/Changes )
Puedes verificar la versión que tienes --version
:
ack --version
Mi estructura de carpetas tiene este aspecto:
/app
/app/data
...
/app/secondary
/app/secondary/data
Quiero buscar /app
recursivamente, incluyendo /app/data
. No obstante, no quiero buscar /app/secondary/data
. Esto es lo que tengo hasta ahora:
ack --ignore-dir=data searchtext
ack --ignore-dir=secondary/data searchtext
El primer comando ignora ambos directorios y el segundo ignora ninguno de ellos. Desde dentro de la carpeta de aplicaciones, ¿cómo debería ser mi comando ack?
Esta respuesta es para versiones de Ack anteriores a 2; consulte Esta respuesta para versiones de Ack> = 2 .
El primero está ignorando ambos porque ambos tienen ''datos'' como un subdirectorio y ack busca subdirectores por defecto. Por lo tanto, ignorará cualquier subdirectorio con ese nombre. Desafortunadamente, tu segunda forma tampoco funciona. Esto funciona para mí:
ack -a searchtext -G ''^(?!.*secondary/data.*).*$''
En lugar de -a para buscar todos los archivos, consulte ack-grep --help = types para buscar solo ciertos tipos de archivos, por ejemplo --type = text