O que você está fazendo não é como find
, grep
e zmv
devem funcionar. Primeiro, você usa find
para procurar por arquivos e, em seguida, grep
para padrão; isso não faz nenhum sentido. O comando find
tem correspondência de padrões integrada, por exemplo, em GNU find
, começando com% básico-name
até -iname
, -path
, -regex
e muitos mais. Você pode até mudar a sintaxe da expressão regular se preferir alguma, com -regextype
. Não é só porque você está fazendo algo não rápido ou com muitos comandos envolvidos, o que é pior, o seu comando é propenso a erros, por exemplo, se o arquivo tiver espaço dentro dele.
Muito melhor é a opção find
com -exec
, seguida de um comando externo como mv
. Com algum cuidado, esta solução pode ser muito portátil em diferentes sistemas.
Mas, como você está usando zsh
, ele implora por usar toda a sua glória, então apenas adicione a opção -vn
a zmv
e experimente padrões diferentes, provavelmente você quer
zmv -vn '(^(*TFLM*))' 'TFLM $1'
-v
significa verboso e -n
impede a execução, apenas imprime o que seria feito (ótimo para testes).