PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umbennenen



Individuum
01-04-2003, 15:29
Hi,

muss euch nochmal um eure hilfe bitten, ich komme nicht weiter.
Ich will/muss ein script schreiben welches in einem order daten ausliest und diese dann umbennent.
Die daten im Ordner sind so:
1
2
3
....
Und sollen in einen neuen order dann so:
1.jpg
2.jpg
...

Jetzt habe ich 2 Probleme:
1. Das Script, da ich einfach nicht weiss wie ich das mit dem umbennenen mache, auslesen is ja kein thema.
2. Es sind teilweise gif und jpg wie kann ich das unterscheiden?
- die dinger liegen auf nem server und haben da halt keine dateiendung.
-hab mir die mit nem script gesaugt, sind nämlich an die 3000 *g*


danke im foraus

phate
01-04-2003, 16:43
Hi Individuum,

wenn Du Dich selbst damit beschäftigen willst, dann versuchs mit folgendem:


mv (zum Umbennen)
file (zur Dateityperkennung)
einer simplen for Schleife


Andernfalls verwende dieses Skript und übergeb ihm das Verzeichnis mit den Dateien als erstes und das bereits angelegte Zielverzeichnis als zweites Argument.
#!/bin/sh

[ -d $1 ] || exit 1
[ -d $2 ] && [ -w $2 ] || exit 1

SRCDIR=$1
DSTDIR=$2

for file in `find $SRCDIR -type f`
do
filename=`basename $file`
ftype=`file $file | cut -d" " -f 2`

case $ftype in
"GIF") mv $file ${DSTDIR}/${filename}.gif ;;
"JPEG") mv $file ${DSTDIR}/${filename}.jpeg ;;
*) echo "$file not gif or jpeg" >&2 ;;
esac
done

Individuum
01-04-2003, 16:53
er sagt mir das es weder gif noch jpg is.
die daten sind ja im mom ohne jegliche endung.
ich werd aber mal mit deinem script rumspielen.

fork
01-04-2003, 17:15
Das Kommando file arbeitet nicht nur mit Dateiendungen sondern verwendet Komplexere Mechanismen, nachzulesen in der Manpage von file.

Das Problem liegt daran das die Zuweisung der Variablen ftype in dem Beispielscriptschnipsel nicht so superflexibel ist. Da musst Du noch dran filen. ->awk ->grep ...

Gib mal echo $ftype vor dem case ein, dann siehst Du als was file Deine Datei erkennt.

Dokumentation findest Du mit den Links in meiner Signatur.

Individuum
01-04-2003, 17:26
so, geht jetzt.

ich hatte noch die png vergessen

Thx