
Estoy intentando filtrar algunos archivos usando find
y grep
mediante el siguiente comando:
find . -type f -exec grep -q --exclude=*.{cpp,gradle,java,ttf,txt,xml,md} . {} \; -and -print
Lo curioso es que: a través de un comando en el símbolo del servidor funciona bien, pero a través de un paso de compilación de Shell no. Un poco porque si elimino los {}
que rodean los tipos de archivos y los dejo, por ejemplo, --exclude=*.java
funciona.
Mis preguntas son:
- ¿Qué está sucediendo?
- ¿Puedo hacerlo de otra manera en la expresión regular?
Respuesta1
El problema fue que estaba probando el servidor bash
pero mi Jenkins estaba configurado para usar sh
. Una vez que soluciono esta configuración, el objetivo de que los scripts de Shell se ejecuten /bin/bash
funcionó correctamente.