Você pode simplesmente fazer a partir do diretório base que deseja pesquisar
cp $(grep -r -l "the pattern" *) target_directory
-
grep -rsignifica negativista -
-lsignifica listar o caminho do arquivo e não a correspondência nele. -
colocar
$()em volta do comando executará e colocará o resultado no lugar no comando externo. -
O cp terá uma lista de arquivos e, desde que o último caminho seja um diretório, copie-os lá.