una ubicacion reemplazar pueden puede pero omitir nombre mismo misma haber copiar conservar con carpeta asignar archivos ambos ack

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