Jump to content

Mass Renaming Files: Difference between revisions

no edit summary
No edit summary
 
No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Mass Renaming Files
== Mass Renaming Files ==


=== Introduction
=== Introduction ===


Mass renaming of files can vary depending on what platform and system you're on. If you're on Unix, and more specifically Unix, the following techniques should be available to you.
Mass renaming of files can vary depending on what platform and system you're on. If you're on Unix, and more specifically Unix, the following techniques should be available to you.
Line 9: Line 9:
In this scenario, we are going to try and rename all .php files in the current directory so they have a .gif extension
In this scenario, we are going to try and rename all .php files in the current directory so they have a .gif extension


=== Using mmv
'''WARNING:''' always backup your files
 
 
=== Using mmv ===


  mmv '*.php' '#1.gif'
  mmv '*.php' '#1.gif'


=== Using rename
 
=== Using rename ===
   
   
  rename 's/\.php$/.gif/' *.php
  rename 's/\.php$/.gif/' *.php


=== In the Bash shell


OLDIFS=$IFS; IFS="\n"; for file in *.php; do newfile=`echo $file | sed -e 's/\.php$/\.gif/'`; mv $file $newfile; done; IFS=$OLDIFS
=== In the Bash shell ===
 
for file in *.php; do mv "$file" "${file%.php}.gif"; done
 
=== Slightly more complex shell version ===
This has the benefit of using a full regular expression in the sed part so you can do much more complex renames, it is also generally more widely available as rename is not available in as many places as ls, awk, sed and sh.
 
ls *.php | awk '{print("mv "$1" "$1)}' | sed 's/php$/gif/2' | /bin/sh
 
 
[[Category:HowTo]]
7

edits