Kopierscript gesucht ...

kangaroo72

Forums-Beuteltier²
Themenstarter
Registriert
2 Mai 2007
Beiträge
2.033
Hallo Leute,

da ich leider keine Programmierkenntnisse habe, und noch keine Lösung gefunden habe, hier mal eine Frage ob jemand eine Idee hat :eek:

Also … ich hab 1200 Ordner in einer Directory … in jedem Ordner liegt eine „background.jpg“
Jetzt hätte ich gerne die 1200 jpg’s in einen Ordner kopiert, sodass sie automatisch in den Ordnernamen umbenannt werden.

Beispiel:

/Ordner1/background.jpg
/Ordner2/background.jpg
/Ordner3/background.jpg

Ziel:

/Zielordner/Ordner1.jpg
/Zielordner/Ordner2.jpg
/Zielordner/Ordner3.jpg

Der Zielordner soll immer der gleiche sein …

Sowas geht doch bestimmt mit einem kleinen Skript, oder?

Grüße,

Kangaroo
 
Hmm ich finde es jetzt auf die schnelle nicht wie es mit quoten klappt.

Dann müssen wir halt der shell sagen, dass nicht mehr space das trennzeichen ist sondern etwas anderes xD

Code:
#!/bin/bash

OLD_IFS="$IFS"
IFS=$(echo -e "\n\b")
for I in $(ls source)
do
  echo "akteulles I = $I"
  echo "cp source/""$I""/background.jpg target/""$I"".jpg"
done

IFS="$OLD_IFS"
 
Ich wusste doch dass es ohne verbiegen des IFS geht :D
getestet mit folgenden dateinamen:
te st
te st2
foo()

Code:
#!/bin/bash

QUELLE="source"
ZIEL="target"

cd $QUELLE
ORDNER=(*) # * listet alle ordner und dateien im akteullen verzeichnis auf. () mach daraus ein array
cd -
for I in "${ORDNER[@]}" # Das [@] sagt alle elemente des array, durch die "" wird jedes element im array zu einem token
do
  echo akteulles I = $I
  cp "$QUELLE/$I/background.jpg" "$ZIEL/$I.jpg"
done
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben