summaryrefslogtreecommitdiff
path: root/examples/functions/lowercase
blob: 3cf6bde2f8433fc5824fecd3c72aa427fcba4729 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /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

lowercase()
{
	for file; do
		[ -f "$file" ] || continue
		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 "lowercase: $file -> $newname"
		else
			echo "lowercase: $file not changed."
		fi
	done
}