umbenennen von mehreren dateien

P

pitcare

Mitglied
Thread Starter
Dabei seit
06.11.2003
Beiträge
90
Reaktionspunkte
0
Hallo zusammen,

ich hab mal wieder nen Problemchen, bin leider nicht so der Unixguru.

Ich möchte in einem Verzeichnis alle Dateien umbenennen also sprich:

Datei_1.pdf
Datei_2.pdf
Datei_3.pdf

so und nun soll aus denen jeweils noch eine Endung angehängt werden
z. B.
Datei_1.pdf.temp

Hier dachte ich an den "mv" Befehl, einzelne Dateien bekomme ich auch ohne weiteres unbenannt, jedoch nicht alle gleichzeitig.
Soweit ich weiss wird für alle "*" gesetzt, dachte das wäre denne vielleicht so...

mv -n *.pdf .pdf.test

isses aber nicht.... wer kann helfen???


Grüsse
pitcare
 
Original geschrieben von pitcare
mv -n *.pdf .pdf.test

isses aber nicht.... wer kann helfen?
 

Hallo,

dies:

ls -d *.pdf | sed ‘s/\(.*\).pdf$/mv “&” “\1.pdf.test”/’ | sh

sollte dir evtl. weiterhelfen. Probiere es am besten erst einmal an einem Duplikat eine entsprechenden Ordners aus.

Gruss
-=IceHouse=-
 
...mit "Renamer" - ist ein sehr nützliches Tool zum Umbenennen mehrerer Dateien.
Schau mal bei Versiontracker.com ...
 
thanks

danke erstmal, allerdings ist das bei mir nicht gelaufen. den renamer habe ich mir auch gezogen... geholfen hat nun diese lösung als kleines script das ich mir in die crontab gepackt habe.

#!/bin/csh

cd /Raid_1b/umzudir
foreach f (`ls *`)
mv $f $f'tmp'
endif
end


Nun würde mich noch interessieren ob man das ganze wieder rückgängig machen könnte wenn die Daten auf einem fremden ftp-server liegen???

Hintergrund:
ich verschiebe PDF Dateien auf einen FTP Server, bei dem ist anscheinend ein Script hinterlegt das alle Dateien mit der Endung .pdf weitergeleitet werden zur Druckrei xy. Nun packt der auch nicht ganz von mir fertig übertragene Dateien an, die natürlich wenn sie weitergeleitet werden auch nicht weiterverarbeitet werden können.

Nun war mein Gedanke die Dateien mit dem Zusatz "tmp" zu versehen, somit bleiben die Daten erstmal unberührt auf dem ftp-server liegen. Nachdem ich alle Dateien übertragen habe möchte ich die Endung ".tmp" wieder entfernen damit das Script die Daten weiterüberträgt.

Fragt mich nicht warum ich die Daten über diesen Umweg übermitteln muss, das wollten die eben so!!!! ich hab schreib und leserechte auf dem ftp-server.
Kann ich auf dem ftp-Server ein ähnliches Script zum laufen bringen???

Grüsse
pitcare
 
Re: thanks

Original geschrieben von pitcare
danke erstmal, allerdings ist das bei mir nicht gelaufen.
 

Das lag am Forum hier, es hat die Zeichen (Hochkomma) umgewandelt. Ausserdem laeuft das Script nur in der "sh" Shell. Ich habe es getestet und hier funktioniert es unter Mac OS X 10.3.2.

PHP:
ls -d *.pdf | sed 's/\(.*\).pdf$/mv "&" "\1.pdf.test"/' | sh

Original geschrieben von pitcare
Kann ich auf dem ftp-Server ein ähnliches Script zum laufen bringen?
 

Es gibt FTP Clients unter OS X (Interarchy) die koennen sog. RAW FTP Kommandos an den Server senden. Leider habe ich so etwas noch nie ausprobiert.

Sollte es am Server die Moeglichkeit geben UNIX Commands per WebFrontend ausfuehren zu koennen (Webmin kann so etwas) dann ist es leicht - Shellscript gebaut und ins /bin Verz. des Servers gelegt.

Gruss
-=IceHouse=-
 
wow

Hallo IceHouse,

erstmal supi vielen Dank für Deine Mühen... das Script läuft, prima.
Was aber noch besser ist, ist Deine Gedanke mit den Raw-Dateien, das war glaube genau das was ich gesucht habe.
Habe es mit Fetch getestet und scheint problemlos zu funktionieren.

Thanks

Viele Grüsse
Stefan
 
Zurück
Oben Unten