comando copiar solo ficheros que contentan un texto

Imaginemos la situación en que tenemos que buscar dentro de una o varias carpetas, todos los archivos que contentan una cadena de texto en concreto y luego además, todos los que encuentre queremos que los copie a otra carpeta para luego poder trabajar más adelante con solo los ficheros que contengan dicha cadena.
copiar ficheros contengan busqueda
Pero además queremos que solo busque en un tipo de ficheros concreto, por ejemplo solo en ficheros que terminen en .txt, dado que si vamos a buscar en un directorio con una gran cantidad de ficheros, será mucho mejor siempre que podamos filtrar por el tipo de fichero y que así no tenga que buscar en todos los archivos.

grep -rl --null --include '*.txt' "cadena a buscar" . | xargs -0 sh -c 'cp "$@" /home/mint/directorio/' sh

Esto realiza una busqueda con GREP sobre todos los ficheros que acaben en .txt y contengan en su interior el texto, cadena a buscar, sobre el diretorio actual en el que estamos. Realmente son dos comandos concatenados y en el segundo de ellos sera donde copie con el comando CP todos los ficheros que coincidan con la busqueda realizada, al directorio creado previamente para ello, en este caso /home/mint/directorio.