Shell: Einzelne Datei umbenennen

holly123

Grünschnabel
Hi Leute,

ich bin neu im Umgang mit Linux, und habe jetzt ein kleines problemchen... Ich habe schon ein bisschen gegoogled, und ich weiß wie ich ein ganzes verzeichnis auslesen kann, aber dann nur die erste datei nehmen und umbenennen, das habe ich leider noch nicht geschafft... darum wende ich mich jetzt an das forum!


Ich habe ein Verzeichnis das ist voller Dateien, welche alle einenen zufälligen Namen, aber die gleiche Endung haben:
z.B.
ab30dl30ald183nd.tmp
od03dlei83kdl39d.tmp
2k10937jd3leoz9.tmp


Ich möchte ein Shell-Script schreiben, welches mir quasi, nur eine (oder die erste) datei in dem verzeichnis mit der Endung .tmp umbenennt und mir den neuen Dateinamen inkl. Endung ausgibt...
d.H. aus ab30dl30ald183nd.tmp wird 20080415180013.gif = (datum).gif

kann mir vielleicht jemand helfen

Vielen Dank!
holly123
 
Hallo,

hier mal ein kleiner Denkansatz.

Code:
#!/bin/sh

DATUM=$(date +%Y%m%d%H%i%s)
mv ab30dl30ald183nd.tmp {DATUM}.gif

Wie meinst du es mit ausgeben?

Gruss
 
Zuletzt bearbeitet von einem Moderator:
hi kalle123456,

danke, sowas ähnliches habe ich auch gerade hinbekommen. jetzt ist noch mein problem, wie ich den dateinamen aus dem verzeichnis auslesen kann... bzw. nur eine datei davon...

habe mir gedacht dass ich mit einer schleife das ganze verzeichnis auslese, und dann einfach die erste datei hernehme... aber das habe ich auch keine ahnung davon...

vielleicht eine idee?
 
hi kalle123456,

danke, sowas ähnliches habe ich auch gerade hinbekommen. jetzt ist noch mein problem, wie ich den dateinamen aus dem verzeichnis auslesen kann... bzw. nur eine datei davon...

habe mir gedacht dass ich mit einer schleife das ganze verzeichnis auslese, und dann einfach die erste datei hernehme... aber das habe ich auch keine ahnung davon...

vielleicht eine idee?

Ja welche erste Datei, nach welchen Suchkriterien?
 
hi kalle123456,

danke, sowas ähnliches habe ich auch gerade hinbekommen. jetzt ist noch mein problem, wie ich den dateinamen aus dem verzeichnis auslesen kann... bzw. nur eine datei davon...

habe mir gedacht dass ich mit einer schleife das ganze verzeichnis auslese, und dann einfach die erste datei hernehme... aber das habe ich auch keine ahnung davon...

vielleicht eine idee?

Code:
DATUM=$(date +%Y%m%d%H%i%s)
for i in `ls` do

mv $i {DATUM}.gif 
done

Naja, ist nur ein Denkansatz, da alle Dateien gleich heißen werden.. Bzw. es wird nur eine geben.
 
also, das ganze soll für einen kleinen bluetooth-sender genutz werden. d.h. ein handy meldet sich per bluetooth am server an, und dann wird eine vordefinierte datei (hier eine .tmp) aus dem verzeichnis gelesen, dann umbenannt, und dann an das handy zurückgesendet. damit jetzt nicht jedes handy die gleiche datei bekommt, habe ich mir die lösung so vorgestellt...

es gibt ca. 100 verschiedene vordefinierte dateien, jede mit einem zufälligen namen.tmp, das script benennt dann die datei um, damit sie beim nächsten suchdurchgang nicht mehr gefunden wird...

weiter muss ich dann den neuen namen der datei wissen, damit die richtige datei versendet wird...

hoffe es ist so verständlich
 

Neue Beiträge

Zurück