Hilfe bei script mit Variablen

XertoX

Cadet 1st Year
Registriert
Nov. 2007
Beiträge
12
Hi@all
Also vorweg ich habe kaum Ahnung von Linux und brauche eure Hilfe.
Mein Anliegen:
Ich habe einen Ordner Bilder. In diesem Ordner sin mehrere Bilder mit z.b. den Namen shot 0234.JPG, shot 0235.JPG usw.
So ich möchte ein Script erstellen das mir im Ordner bilder 2 Ordner erstellt (bilder_mittel, bilder_klein). Dort die Bilder hinkopiert, umbenennt in 1.jpg, 2.jpg, 3,jpg usw. und danach in der Auflösung ändert.
Also Ordner erstellen mit mkdir weiß ich schon, dann habe ich gelesen das man mit mmv "*.JPG" /bilder_mittel/#1.jpg alle Dateien VERSCHIEBEN kann und die Endung von JPG in jpg ändern kann. Und mit convert -resize 100x100 'dasbeispielbild.jpg' dasbeispielbild.jpg in der Auflösung ändern kann.
So jetzt aber mein Problem: bei mmv verschiebt er halt nur und kopiert nicht und ich weiß nicht wie ich die dateinamen in aufsteigende Zahlen ändern kann vlt mit Variablen und ner schleife die hochzält aber ich weiß nicht wie man unter linux Variablen benutzt/einrichten und wie man schleifen erstellt aus den sachen die ich gefunden habe werde ich auch nicht ganz schlau.
Ich hoffe ihr versteht was ich meine und könnt mir helfen.
Thx
XertoX
 
Mach das doch in mehreren Schritten (ungetestet und auf einem Win-Rechner getippt):
Code:
#!/bin/sh

# 1. Dateien kopieren
mkdir bilder_mittel
mkdir bilder_klein
cp *.JPG ./bilder_mittel
cp *.JPG ./bilder_klein

# 2. Dateien umbenennen
cd bilder_mittel
for i in *.JPG; do
   mv $i `basename $i .JPG`.jpg;
done

filecounter=1
for i in *.jpg; do
   mv $i $filecounter.jpg
   filecounter=$(( $filecounter+ 1 ))
done

# 3. Größe ändern
for i in *.jpg; do
   convert -resize 100x100 $i[
done
Für den anderen Ordner entsprechend.
Am besten vorher ein Backup der Bilder anlegen!
 
@Boron

# 2. Dateien umbenennen
cd bilder_mittel
for i in *.JPG; do
mv $i `basename $i .JPG`.jpg;
done

filecounter=1
for i in *.jpg; do
mv $i $filecounter.jpg
filecounter=$(( $filecounter+ 1 ))
done

Genau sowas habe ich gesucht ... :)
Vielen dank werde dann das mal heute oder morgen probieren. Ich melde mich hier dann noch mal wenns geklappt hat. Und wie.
Ach ja muss man eigentlich immer #!/bin/sh am Anfang eines shell scriptes schreiben?!?!?
Bis denn XertoX
 
je nach dem wie du verwendest oder programmierst,
#!bin/sh
#!bin/bash
#!bin/perl --> für perl
usw.
 
Zurück
Oben