Unix/Linux: Bulk rename files to all upper or lower case

Posted by Jay     24 July, 2008    11,138 views   

This is the utility I have been using for a long time, more than 6 years. It works excellent, no bugs, no issues so far. If you want to rename upper case to lower case in bulk or the other way, feel free to use this script. This script was originally developed by Noah Friedman and I have customized to suit my need.

This is very useful when you ftp/sftp files from windows to unix/linux. Hope this is handy!

Usage >mvcase -l *htm
Usage >mvcase -u *htm
Usage >mvcase -l *
Usage >mvcase -U *txt

Following script is provided for you to read and understand. If you like to test drive the script, Just Download mvcase shell script, unzip, move it to bin or local bin directory,wherever the $PATH looks, and use it. It is working and I am regularly using placing the script location in $PATH variable in Linux.

#!/bin/sh
# mvcase — rename files to all upper or lower case
# Created: 1993-11-10
# Last modified: 1994-03-13
# Public domain

# Commentary:
# Code:

# Name by which this script was invoked.
progname=`echo "$0" ‘ sed -e ‘s/[^\/]*\///g‘`

# To prevent hairy quoting and escaping later.
bq=’`
eq="’
"

usage="Usage: $progname {options}

Options are:
-D, –debug                  Turn on shell debugging ($bq${bq}set -x$eq$eq).
-h, –help                   You‘re looking at it.
-l, –lower-case             Rename upper-case files to lower case.
-m, –mv-options   MVOPTS    Options to ${bq}mv$eq program.
-R, –recur                  Rename all subdirectories and files
-u, –upper-case             Rename lower-case files to upper case.
"

# Usage: eval "$getopt"; value=$optarg
# or     optarg_optional=t; eval "$getopt"; value=$optarg
#
# This function automatically shifts the positional args as appropriate.
# The argument to an option is optional if the variable `optarg_optional’
# is non-empty.  Otherwise, the argument is required and getopt will cause
# the program to exit on an error.  optarg_optional is reset to be empty
# after every call to getopt.  The argument (if any) is stored in the
# variable `optarg‘.
#
# Long option syntax is `–foo=bar’
or `–foo bar‘.  2nd argument
# won’
t get used if first long option syntax was used.
#
# Note: because of broken bourne shells, using –foo=bar syntax can
# actually screw the quoting of args that end with trailing newlines.
# Specifically, most shells strip trailing newlines from substituted
# output, regardless of quoting.
getopt=
{
optarg=
case "$1" in
–*=* )
optarg=`echo "$1" ‘
sed -e "1s/^[^=]*=//"`
shift
;;
* )
case ${2+set} in
set )
optarg="$2"
shift
shift
;;
* )
case "$optarg_optional" in
"" )
case "$1" in
–*=* ) option=`echo "$1" ‘ sed -e "1s/=.*//;q"` ;;
* ) option="$1" ;;
esac
exec 1>&2
echo "$progname: option $bq$option$eq requires argument."
echo "$progname: use $bq–help$eq to list option syntax."
exit 1
;;
esac
;;
esac
;;
esac
optarg_optional=
}’

# Initialize variables.
# Don‘t use `unset’ since old bourne shells don‘t have this command.
# Instead, assign them an empty value.
debug=
case=lower
recur=

# Parse command line arguments.
# Make sure that all wildcarded options are long enough to be unambiguous.
# It’s a good idea to document the full long option name in each case.
# Long options which take arguments will need a `*‘ appended to the
# canonical name to match the value appended after the `=’
character.
while test $# != 0; do
case "$1" in
-D ‘ –debug ‘ –d* )
debug=t
shift
;;
-h ‘ –help ‘ –h )
echo "$usage" 1>&2
exit 1
;;
-l ‘ –lower-case ‘ –l* )
case=lower
shift
;;
-u ‘ –upper-case ‘ –u* )
case=upper
shift
;;
-m ‘ –mv-options* ‘ –m* )
eval "$getopt"
mv_switches="$optarg"
;;
-R ‘ –recur ‘ –r* )
recur=t
shift
;;
)     # Stop option processing
shift
break
;;
-? ‘ –* )
case "$1" in
–*=* ) arg=`echo "$1" ‘
sed -e ’s/=.*//’` ;;
* )     arg="$1" ;;
esac
exec 1>&2
echo "$progname: unknown or ambiguous option $bq$arg$eq"
echo "$progname: Use $bq–help$eq for a list of options."
exit 1
;;
-??* )
# Split grouped single options into separate args and try again
optarg="$1"
shift
set fnord `echo "x$optarg" ‘ sed -e ‘s/^x-//;s/\(.\)/-\1 /g‘` ${1+"$@"}
shift
;;
* )
break
;;
esac
done

case "$debug" in t ) set -x ;; esac

case "$case" in
lower ) conv=’y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/‘ ;;
upper ) conv=’
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/‘ ;;
esac

case "$recur" in
t )
find ${1+"$@"} -print ‘ sort -r
;;
* )
for i in ${1+"$@"} ; do
echo "$i"
done
;;
esac \
‘ while read file ; do
dir=`echo "$file" \
sed -e ’s/\/*$//
s/\/[^\/]*$//’
`
base=`echo "$file" \
‘ sed -e ‘s/\/*$//
s/.*\///‘`
convbase=`echo "$base" ‘
sed -e "$conv" ‘ sed ‘s/ /_/g‘ ‘ sed "s/’//g" ‘ sed ‘s/_-_/_/g‘ ‘ sed ’s/(//g’ ‘ sed ‘s/)//g‘ ‘ sed ’s/-/_/g’ ‘ sed ‘s/,//g‘`

case "$base" in "$convbase" )
echo "$progname: $file not renamed" 1>&2
continue
;;
esac

case "$base" in "$file" )
dir=. ;;
esac

${MV-mv} $mv_switches "$file" "$dir/$convbase"
done

# mvcase ends here

Following Google Searches Lead To This Post: linux shift uppercase lowercase tr
unix commands lower letter conversion to upper
vbs rename all files begin with lowercase to uppercase
bulk file editor uppercase to lowercase
linux+rename+lower
bash rename files to lower cas
find +rename extention +linux
char to lowercase linux
unix script rename files to lower case
change file extension from upper to lower case in linux
OSX Is there a way to bulk change the names of all the files in a folder?
unix rename with variable
windows rename lowercase files
linux extension to lower case
turn upper to lower linux command line
file open linux upper case lower case
mvcase.sh
rename all files to lowercase unix
bulk rename script extension
linux centos rename lowercase
sed rename files
cent os lowercase filenames notesbit
conversion to lowercase script + linux
unix case esac
multiple files lower case shell scripts
linux change all files in directory to small letters
ftp bulk rename command
bash lowercase extension
unix shell lowercase
rename lower case file to upper case unix
solaris unix shell script unzip files
sed rename
rename linux file sed
bash recursive dir list massive rename
unix rename all file names using find
bulk renaming file extension + linux
centos rename multiple file with regex
linux file lowercase mv
tr upper lower letter
sed lowercase file rename
vi uppercase to lowercase rhel
bash bulk rename sed
rename linux case
CentOS rename multiple files
bulk linux change extension
make filenames lowercase linux
bash bulk file ext change
sh lowercase
search files same name lower and uper case unix
unix script find and rename
convert case in unix
rename case
bash script to batch rename file extension lowercase
unix global file rename
bulk rename folders files linux command line app?
linux lowercase extension
centos rename
linux command line lowcase extentions rename files
how to change all character to uppercase sed command
linux change lower case extension files
unix upper to lower case
rename file linux wild card
nsis lowercase
unix bash script change to lower case
unix batch processing rename files
rename unix file lower case
unix mv file *
global filename upper to lower case
shell script change extension linux
mac os x rename files uppercase to lowercase command linw
rename upper to lower solaris
linux uppercase all files
unix mv files *
recursively rename files from uppercase to lowercase in solaris
shell rename upper
convert upper char to lower in unix
unix shell upper
change all filename in small letter linux
linux mv upper directory
linux script rename upper script
solaris convert case
rename list of files in unix
linux sftp recursive rename
unix lowercase
bash rename regexp
batch rename files shell linux
file name lower case to upper linux
unix, first letters of line upper and lower case
rename multiple files from uppercase to lowercase linux
“mv” “rename extension”
bash script turn upper case filenames lower case
convert Variable from upper in bash linux
unix ftp example rename file
Unix scripting command line unzip files
make all file names lowercase
linux lower to upper
linux bulk command
mac rename bulk files mv
rename all folders to lowercase
rename linux file wildcard
solaris 10 change string case
linux bulk rename files
linux find files same case
lowercase linux rename
what is case file in unix
bash script rename files to lowercase
regex “upper to lower”
convert all the strings to upper sed
UNIX script to rename multiple files in subdirectory
bulk rename linux
bash lowercase file extensions
rename upper lower case linux
rename uper case to lower case linux
bash rename small letters
linux find upper or lower case
“os x” bash bulk rename
linux rename lowercase extension
bash lowercase all files
linux script to convert all files and folder to llower case
make folders lowercase linux
unix rename bulk files
how to bulk rename files recursively
convert first letter uppercase to lowercase sed
batch file to turn all files in a folder to uppercase filename
linux convert upper to lower
windows server 2008 linux upper lower case filenames
using sed how to rename a file in the folder
convert name of folders from upper to lower uisng dos command
“linux bulk rename”
sed lowerrces all names
linux convert all files in subdirectories
windows rename uppercase
tr file rename lowercase
unix script variables accept both uppercase and lowercase
solaris scripts lower to upper
linux find file by last letter
“to rename in dos”
shell convert file upper case
sftp rename multiple files unix
extension to lowercase terminal mac
bash convert string to lowercase
rename files to lowercase linux command
sed bash examples upper and lowercase
rename low case unix filename
linux change bulk file extension
renaming unix files using wildcards
how to change big letter to small on linux
use sed to rename folders
unix rename set of files
unix script rename filename from uppercase to lowercase
linux bash script change letters from lower case to upper case
php rename files to lower case
rename all files in directory wildcard linux
linux change extension recursive bash
linux rename uppercase to lowercase
change uppercase to lowercase in unix sed
rename everything in a unix directory to lower case
bulk rename OS X unix
make all letters uppercase ina file unix
rename files wildcards sftp
linux how rename file extension lowercase
linux rename lowercase
Linux script /bin/sh rename file
renam untar files in UNIX upper/lower case
linux change file case
linux + lower to upper case name of a file
centos find and rename file
C# rename case code
case linux script
linux bulk rename
script change all files to lower case
rename regex shell script escaping
rename all files in a directory in unix
unix move files to lower case
linux command line bulk rename upper case lower case
linux command for display all files lowercase
rename files linux upper case lower case
rename file CASE in unix
small case umbenennen
unix ftp rename wildcard
ftp rename wildcard
how to rename first letter of multiple files in linux
rename filename from upper to lower
linux shell scripting bulk rename files
sed lowercase first letter
changing case in unix
commande linux rename sur mac
osx rename all lowercase
converting upper case into lower case with ~ in vi unix
changing letter case in unix
command to convert file name from lower to upper case in unix
“windows renamed my folders to lowercase”
unix vi files change lower case in upper case
unix rename filename lowercase
batch renaming undercase bash
change lowercase linux filename
shell bulk convert extension
bulk rename in unix
lowercase to uppercase filenames unix
linux global file rename
linux command sed rename file
ssh rename uppercase
list upper and lower case files in unix
osx script bulk rename files
sed bulk rename
changing all files from uppercase to lowercase in solaris
set all lower linux
mac rename unix command
unix ftp rename characters
lowercase solaris
linux script change case
windows ren lower case
“move file” rename sed
rename so all files lowercase file extension
unix change file extensions bulk
dos batch rename files lowercase
using rename command to change case linux
linux bulk rename folder
linux tr upper lower
case file + unix
linux rename upper case
unix find file start with big letter
“unix rename command”
linux change filename to uppercase
bash rename all files to lowercase
linux change folder case
linux rename extension lowercase
bulk rename files
unix renaming files to lowercase
rename files unix command line
shell script how to move from lower to upper letter
bulk linux rename
lower case to uppar case unix
rename ftp wildcard linux
change all upper case files to lower in directory
unix uper
unix change upper
linux recursive lowercase
use sed to change file to uppercase unix
unix rename extension
unix show all characters in upper case
shell script rename upper to lower case
rename linux var
linux bulk rename files shell
linux rename upper case lower
make all file names “lower case”
unix change all UPPER case to LOWER
unix script Rename files and folders to lower case letters
linux rename * syntax
rename lowercase extensions
linux command upper case extension to lower case
linux filename “change case”
osx terminal change extention to lowercase
linux rename increasing
linux rename small case
bash script filename upper to lower
centos find rename
mac change to all lowercase
script rename lower case extension
bash bulk rename
unix command rename with regex
bulk renaming files in unix from command line
make all upper case lower case sed
mvcase linux
linux change all extensions to lowercase
bulk renamer linux
unix.com rename files to lower case
change file exteion to lowercase osx
centos rename file
renlower linux
linux rename subdir
extension to lower case on macosx
rename directory with script in linux with command tr
rename all files to small letters
Display the content of the in a file as all lower-case letters are converted to upper-case letters with tr in linux
linux sed rename files
linux rename extensions to lowercase
bulk convert files to uppercase
mac bulk change file extension command line
c# source code list ConvertAll converter lowercase -java
rename to lowercase osx
linux rename upper case to lower case
upper lower case file extensions unix
bash regex sed uppercase lowercase
unix turn lower case
change upper to lower case multiple files using mv
linux renmae files to upper case
how rename files from uppercase to lowercase in linux
unix command line rename files to lower case
linux recursively lowercase directories
mac rename files to lowercase
rename linux change first letter
linux bulk rename lowercase
change file name uppercase to small case linux
unix rename files to uppercase
rename global files linux
unix rename letter in file
batch files turn to lower case
unix tr command to covert all lower to upper in afile
linux script upper case to lower case
bulk file extension rename php
unix bulk rename
linux filename change to lower case all subdirectorie
linux bulk rename recursive
unix change to lowercase multiple files
shell script file change file ext centos
change names to lowercase untar
unix mv command bulk rename
change files to uppercase linux
open file in LInux go to upper directory
finding lower case and upper case files in unix
lower to upper case unix script
sed /s upper unix
upper case conversion while FTP + DOS
linux recursive rename case
hp unix rename multiple regex
linux global rename file
centos all filename lowercase
linux command to move bulk files
linux rename directory to upper case
unix shell bulk rename command
linux copy files as lower case
recursive renaming multiple files unix command line
linux rename recursively
bulk rename file unix bash subdirectory
changing file extension to lowercase in linux
recursively rename directories c#
linux bash rename *
linux convert all files to uppercase
linux upper first
unix rename upper all file
unix upper nome file
unix change filename case script
bash script convert upper to lower case files
unix rename files to lowercase
change bulk file name in unix
bash lowercase first letter
Unix command to rename file name from upper to lower case
mac rename lower file
unix test upper case c
linux vi lower to upper
open linux file in c upper
unix FTP script to rename files
php ftp rename all files within folder
rename bulk files in unix
renaming all the files to lowercase unix
change letter case in Unix
rename while mv in unix
apache rewrite rules “rename directory”
convert all files to lowercase in directory recursive linux
set to lowercase linux
linux bash make all lowercase
rename file linux lower
batch rename files linux regex sed
lowercase move linux
move change case linux
linux, convert to lowercase extension
unix rename all examples mac os
ftp bulk files from the linux
rname upper case to lower case
linux set filename first letter upper case
how to convert upper case to smaller using UNIX script
unix command line upper letter
regexp rename to lowercase
bash extension tolowercase
list upper case files name in DOS
oSX bulk rename
take file name as argument & convert content to upper case in unix
php uppercase lowercase batch sample
rename folder unix
solaris rename batch of files
ssh “rename folder” command list
c# rename all files
rename subdir shell
rename change case linux
ftp rename multiple files linux
ssh “change filename” command
how can make all file in small letter in unix
linux rename lower
ssh “rename folder” command
rename file in linux convert lower to upper
linux mv upper
linux rename to uppercase
linux bulk move
linux command change file name case
convert uppercase filenames to lowercase linux
linux script uppercase lowercase filename
bulk rename sed
unix change filename from lowercase to uppercase in a directory
unix make all files uppercase
unix rename to uppercase
convert solaris uppercase lowercase script
finding and renaming files unix
mac unix rename file
unix rename files lowercase
renaming files linux sed
bash files to lower
linux bulk reanme
linux find und rename
change file extensions to all lowercase in linux
classic ftp for mac all lowercase
unix bulk rename files
global file rename linux
unix all filenames in folder lowcase
unix commands to convert lower case
rename file in Centos
unix test for upper case
how to set letters to lowercase in unix shell
rename all the lines in unix
convert arguments in uppercase in unix
upper linux
batch script to lowercase linux
file in linux from upper to lower
move lowercase files
mac terminal bulk rename mv
mv bulk rename
linux rename small case extension
unix shell lowercase file
linux command rename lowercase
unix find rename files
macos rename lowercase
bulf rename linux
unix rename file extension lowercase
tr+unix+rename+lowercase
bash scripts files extension upper lower case
bash rename regex
cmd rename file upper
rename files upper to lower
unix scripts recursive rename
unix upper syntax
unix rename uppercase files to lowercase
terminal uppercase lowercase rename
how to rename convert unix files to mac
unix shell script variable lowercase to upper case
how to rename files in bulk unix
linux massive file rename
solaris batch rename
linux raname uppercase files to lowercase
linux lowercase all files
unix rename a file upper case
terminal sed lowercase
how to use batch to change all file names from upper case to lowercase
linux rename small
unix rename subdirectories
bulk filename change linux
change lowercase to uppercase in unix
linux bulk renname file extensions
bulk rename mac mv
bulk unzip files in unix
linux convert uppercase to lowercase recursive
linux bash dateinamen lowercase
C++ linux upper
linux renaming files to upper case
linux rename to upper case
batch rename cmd lowercase
php rename lowecase
bash lowercase first character
sed make all lower case
rename multiple files unix case
rename file lowercase unix
change case of all files bash
recursive lowercase
linux file lowercase
c# bulk rename files
c# rename file lowercase
php rename wildcard
low case powershell
using sed to rename files in linux
“rename folder” from c Linux
centos renamefile
how to unix rename recursively
php lowercase rename files directories
upper to lower case bash solaris
unix bash rename to lowercase tr
unix rename files ftp
make all folders uppercase linux
make all folders names uppercase linux
como usar case en linux batch
Linux “changing case ” folder names
bash rename upper case
linux change all files to lowercase
“rename file unix”
bash lowercase directories
mvcase
cli rename to lowercase
shell make extension lowercase
linux rename uppercase
a shell script to convert a string from upper to lowercase and display
linux file to upper
rename files linux
sed set lowercase
bash rename uppercase
linux rename multiple files to all lowercase
UNIX bulk change file extension
unzip and rename for linux
linux turn folder to lowercase
set filenames upper c#
bash + upper letters
bash + upper letters sed
set file names upper c#
bash rename batch uppercase
“bash script to” case esac
bash script turn all files to lowercase
linux bulk rename shell recursive extension
mac bulk rename Terminal recursive extension
linux file extension lowercase
linux rename files to upper case
rename text filename to uppercase,solaris
sed lower to upper case first car
bash mv bulk renaming
sed make lowercase
bulk rename files ftp command
bash bulk change file names
unix change extension to upper case
unix bulk rename file
linux file extensions to lower
file names upper c#
dos batch file to rename files to lowercase
rename command upper to lower
linux+rename files with sed
solaris change files from upper case to lower
php script to rename all my files to lowercase
rename lowercase command line
c# file.copy lowecase
OSX rename files uppercase
mvcase.zip
example bash renaming to lowercase
Convert all subdirectories in directory to lowercase names
linux rename utility regular expressions centos
linux rename script
bash move upper case files only
unix rename file +lowercase
mac os+unix “rename directory”
shell script to bulk rename using mv
unzip and rename a file in unix
unix copy file lowercase
linux massive rename
mac bulk rename file extension mv script
linux rename all upper case to lower case
batch file rename SOLARIS
unix regex sed rename
sed y uppercase linux
linux set folder lowercase
linux rename to lowercase extension
linux rename syntax
sed rename upper lower
linux rename all files to uppercase
rename filename to uppercase linux command
set lowe case unix
unix script file rename uppercase
linux change file directory lower case recursive
mac ftp bulk rename
bulk rename files using C#
unix bulk copy and rename
os x bulk change extension

Post to Twitter  Post to Delicious  Post to Digg    Post to StumbleUpon

Categories : Scripts Unix Tags : , , , , , , ,

Comments
September 27, 2008

I found your site on faves.com bookmarking site.. I like it ..gave it a fave for you..ill be checking back later

Posted by Php Echo Output
September 7, 2009

Try:

rename ‘y/A-Z/a-z/’ *

for lowercase

Posted by Moi
Leave a comment

(required)

(required)