Hallo,
in einem shellskript m�chte ich gerne x Kopien einer Datei anlegen.
dabei sollen die Dateinamen der neu erzeugten Dateien wie folgt
aufgebaut sein:
Dateiname + laufendeNummer + suffix
Das kann doch eigentlich nicht so schwer sein, aber ich kriege es trotz
langer Suche nicht hin. Vielleicht habt Ihr ja noch einen Tip, bevorzugt
ohne komplexe sed Konstrukte ;) Mit ${fname%.*} kann ich jetzt zwar das
suffix rausschmeissen, aber wie kriege ich hinterher wieder ds richtige
suffix dran?
danke,
Hans
++snipp+++
#! /bin/bash
#
# Very simpleminded "multiplecopy" utility (based on "???").
#
# The "ren" utility, by Vladimir Lanin ([EMAIL PROTECTED]),
#+ does a much better job of this.
ARGS=2
E_BADARGS=65
# check for syntax of calling commando
if [ $# -ne "$ARGS" ]
then
echo "Benutzung: `basename $0` Anzahl Datei"
# As in "rn gif jpg", which renames all gif files in working
directory to jpg.
exit $E_BADARGS
fi
#check if file exists
if [ -f "$2" ]
then
for ((a=1;a<=$1;a++)) #loop for 'a' times
do
fname=`basename $2` # Strip off path.
n=`echo $fname | sed -e "s/$1/$2/"` # Substitute new for
old in filename.
fnamebase=${fname%.*}
fnamenew=$fnamebase+$a
# cp $fname $fname.$a # copy file
echo "N: $n fname: $fname a: $a pn: $pn"
done
fi
echo "$a Dateien kopiert."
exit 0
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)