Eu mesmo encontrei a solução. O Dired possui uma funcionalidade incorporada para fazer isso. Consulte o artigo Localizar e substituir interativamente padrões de seqüência em vários arquivos para obter mais detalhes.
Eu estou procurando uma solução para como realizar uma pesquisa e substituir em todos os arquivos em um diretório usando o Emacs.
Eu mesmo encontrei a solução. O Dired possui uma funcionalidade incorporada para fazer isso. Consulte o artigo Localizar e substituir interativamente padrões de seqüência em vários arquivos para obter mais detalhes.
Como mencionado na outra resposta, você deverá usar dired .
Primeiro marque os arquivos usando a tecla m
. Alternativamente, você pode usar % m
to dired-mark-files-regexp
(no caso de marcar todos os arquivos, coloque .*
como seu regexp).
Você vai querer usar o % R
to dired-do-rename-regexp
. Isso limitará a renomeação da expressão regular aos arquivos marcados. Você terá que usar a sintaxe regexp do Emacs, que difere da sintaxe comum do UNIX.
Se eu tivesse vários arquivos em um diretório chamado:
01.png
02.png
03.png
04.png
E eu queria que eles fossem renomeados para que todos fossem prefixados com o capítulo 01, eu digitaria os seguintes pressionamentos de teclas.
% m - mark regexp
.*\.png - mark all png files
% R - rename regexp
\([0-9]+\)\(\.png\) - matching regexp, save the parens into variables
chapter-01- - utilizing the previous variables'
! - during the query to denote rename all the rest
Tags search emacs text-editing