Imported from ../bash-2.0.tar.gz.
This commit is contained in:
44
examples/scripts.v2/lowercase
Normal file
44
examples/scripts.v2/lowercase
Normal file
@@ -0,0 +1,44 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# original from
|
||||
# @(#) lowercase.ksh 1.0 92/10/08
|
||||
# 92/10/08 john h. dubois iii (john@armory.com)
|
||||
#
|
||||
# conversion to bash v2 syntax done by Chet Ramey
|
||||
|
||||
Usage="Usage: $name file ..."
|
||||
phelp()
|
||||
{
|
||||
echo "$name: change filenames to lower case.
|
||||
$Usage
|
||||
Each file is moved to a name with the same directory component, if any,
|
||||
and with a filename component that is the same as the original but with
|
||||
any upper case letters changed to lower case."
|
||||
}
|
||||
|
||||
name=${0##*/}
|
||||
|
||||
while getopts "h" opt; do
|
||||
case "$opt" in
|
||||
h) phelp; exit 0;;
|
||||
*) echo "$Usage" 1>&2; exit 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
for file; do
|
||||
filename=${file##*/}
|
||||
case "$file" in
|
||||
*/*) dirname=${file%/*} ;;
|
||||
*) dirname=. ;;
|
||||
esac
|
||||
nf=$(echo $filename | tr A-Z a-z)
|
||||
newname="${dirname}/${nf}"
|
||||
if [ "$nf" != "$filename" ]; then
|
||||
mv "$file" "$newname"
|
||||
echo "$0: $file -> $newname"
|
||||
else
|
||||
echo "$0: $file not changed."
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user