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)