recursivo por fecha ejemplos consola comando carpeta buscar archivos ack

por - Ack-Ignorar directorios mĂșltiples sin repetir la bandera



comando find unix (4)

¿Es posible ignorar múltiples directorios en Ack, sin repetir la bandera?

Por ejemplo, conozco los siguientes trabajos (es decir, establecer varios indicadores):

ack --ignore-dir=install --ignore-dir=php ''teststring''

Esperaba poder separar los directorios con comas, como puedo hacer con las extensiones de la siguiente manera:

ack --ignore-file=ext:css,scss,orig ''teststring''

Sin embargo, el siguiente indicador de ignorar separado por comas no funciona:

ack --ignore-dir=install,php ''textstring''

¿Es posible usar algún equivalente de mano corta, por lo que no tengo que escribir repetidamente el indicador --ignore-dir?


Así que para ignorar el uso de un solo directorio

ack <term> --ignore-dir=dir_a

y para ignorar el uso de varios directorios

ack <term> --ignore-dir={dir_a,dir_b}


En realidad, es similar a cómo se especificarían los patrones de inclusión para grep :

ack <term> --ignore-dir={dir_a,dir_b}

Sin embargo, este formato no funciona con un solo directorio. Asi que

ack <term> --ignore-dir={log}

no trabajará.


Un enfoque podría ser seleccionar aquellos directorios para excluir con una expresión regular en la opción -G complementada con la opción --invert-file-match . Basado en tu pregunta, algo como lo siguiente:

ack -a -G ''install|php'' --invert-file-match ''textstring'' .


Ya que estás usando ack 2, puedes poner --ignore-dir=install y --ignore-dir=php en un archivo .ackrc en la raíz de tu proyecto. Entonces, cada invocación de ack en ese árbol usará esas banderas.