On Unix, in one command line ?
# Here the search is in PHP files, but # replace by whatever your file extension is. find . -name "*.php" -print | xargs sed -i 's/<search>/<replace>/g' # and that's all.
Latest posts by Fab (see all)
- Au Printemps des Monstres : review - 25 November 2023
- A Moveable Feast: review - 30 September 2023
- The Tent: review - 27 August 2023
Dans le même ordre d’idée, pour modifier un grand nombre de nom de fichier en même temps :
(dans cet exemple je remplace les .LOG en .log)
ls *.LOG | sed ‘s/\(.*\).LOG/mv \1.LOG \1.log/g’ | sh
Pour vérifier, dans un premier temps, l’action réalisée :
ls *.LOG | sed ‘s/\(.*\).LOG/mv \1.LOG \1.log/g’
et ne rajouter le pipe | sh que lorsque vous êtes sûrs de votre coup.
Also, the rename command on Debian distros does just that and uses the same Perl regexp syntax.
rename -n s’///’ *.whatever
The -n allows you to make a test run in case you’d do anything silly which you cancel. -v is for verbose
Cheers
My comment was truncated. The correct (more explicit) syntax is:
rename -n s’/stringtofind/stringtoreplacewith/’ *.whatever
-exec with find can be used instead of “| xargs” :)