Extrae los nombres de file de la salida de extracción de git

Estoy creando un script que desplegará la última twig maestra del código y verificará si alguno de los nombres de los files es SQL. Después de haber determinado el nombre del file, voy a search los procedimientos almacenados. Actualmente lo tengo tirando del código y preparando la salida línea por línea, sin embargo, mi command grep no parece ser capaz de encontrar el nombre de file sql. Esto es lo que tengo

#!/bin/bash # Pull all of the latest code for the master branch, and set the commit log to # a variable commit_log=$(git pull origin master --quiet) #read the commit log line by line echo $commit_log | while read line do if [ `echo "$line" | grep -E "(\.sql)$"` ]; then echo "SQL" fi echo "LINE:" $line done 

No estoy estancado en bash, también podría hacer esto en Perl.

Después de una extracción, el nuevo estado se almacena en HEAD y el anterior en HEAD @ {1}. Puede encontrar los files modificados entre ambos con git diff --name-only . Un pequeño perl one-liner parece ser la forma más fácil de verificar los nombres de los files:

 git pull git diff --name-only HEAD@{1} | perl -wpe 'print "SQL:" if /\.sql$/'