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)
- La Horde du Contrevent : review - 13 October 2024
- For Whom the Bells Tolls: review - 4 August 2024
- Self Aware On Air Neon Sign - 8 June 2024
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” :)