Imported from ../bash-2.0.tar.gz.
This commit is contained in:
parent
726f63884d
commit
ccc6cda312
502 changed files with 91988 additions and 69123 deletions
64
examples/scripts.v2/newext
Normal file
64
examples/scripts.v2/newext
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#! /bin/bash
|
||||
#
|
||||
# original from:
|
||||
# newext: change filename extension
|
||||
# @(#) newext.sh 1.1 93/04/13
|
||||
# 90/06/06 john h. dubois iii (john@armory.com)
|
||||
# 90/11/14 changed ksh-specific code to hybrid: if running under Bourne,
|
||||
# uses expr instead of ksh builtin ops. Removed SYSV specific code.
|
||||
# 91/08/06 added -t option
|
||||
# 92/11/06 made earlier code actually work!
|
||||
# 93/04/13 If no filenames given, act on files in current dir
|
||||
#
|
||||
# conversion to bash v2 syntax by Chet Ramey
|
||||
|
||||
usage="Usage: newext [-th] <oldext> <newext> [filename ...]"
|
||||
|
||||
phelp()
|
||||
{
|
||||
echo "$usage
|
||||
Rename all given files that end in oldext with newext replacing oldext.
|
||||
If no filenames are given, all files in the current directory that end
|
||||
in oldext are acted on (no filename is equivalent to '*').
|
||||
Options:
|
||||
-h: Print this help.
|
||||
-t: Test: No action is taken except to print the mv commands that would
|
||||
be executed if -t was not given."
|
||||
}
|
||||
|
||||
while getopts "th" opt; do
|
||||
case "$opt" in
|
||||
t) echo=echo;;
|
||||
h) phelp; exit 0;;
|
||||
*) echo "$usage" 1>&2; exit 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
oldext=$1
|
||||
newext=$2
|
||||
|
||||
case $# in
|
||||
[01]) echo -e "$usage\nUse -h for help." 1>&2; exit 2;;
|
||||
2) shift ; shift; set -- *;;
|
||||
*) shift ; shift;;
|
||||
esac
|
||||
|
||||
found=
|
||||
|
||||
for file
|
||||
do
|
||||
case "$file" in
|
||||
*$oldext)
|
||||
newname="${file%$oldext}$newext"
|
||||
$echo mv "$file" "$newname"
|
||||
found=true;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$found" ]; then
|
||||
echo "No files ending in \"$oldext\"."
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue