Thema: Shell Script
Einzelnen Beitrag anzeigen
Ungelesen 26.05.12, 01:11   #2
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 639
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

der Stern[*] wird immer durch eine Zeichenkette ersetzt, der übereinstimmt. *.txt liefert dir also korrekt einen String mit allen Datein mit dem Namen IRGENDWAS.txt und legt pro durchgang einen Dateinamen in $i ab. Jedoch wird der Inhalt von * nicht gespeichert (und selbst wenn, würde das ganze aus einem String aller Datein bestehen, die mit .txt enden und nicht nur der einen Datei von dem Durchgang), somit wird dann bei deinem Umbennenungsversuch bei *.TXT, nicht der Präfix von *.txt zurückgegeben, sondern ein String mit allen Datein, die IRGENDWAS.TXT heißen. Somit versuchst du so ca. soetwas: "cp DATEI.txt datei1.TXT datei2.TXT datei3.TXT dateiN.TXT . cp hat aber die Angewohnheit, bei mehr als 2 Parametern, alle Datein in das Verzeichnis (was im letzten Parameter angegeben ist) zu kopieren, was ja nicht dein Ziel ist .

Um den Suffix zu verändern, würde ich dir sed empfehlen, was auf jedem Unix dabei sein sollte. Dazu musst du nur die vorletzte Zeile anpassen.

hier die Lösung, wenn du zu "faul" bist selbst zu tüfteln...
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten