• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Script Dateien kopieren/umbenennen

Hallo,

ich habe folgendes Problem:
Ich habe einen Ordner in dem befinden sich etliche Dateien mit der Endung *.doc! Nun brauche ich ein Script das mir einfach nur eine leere Datei aus allen *.doc Dateien erstellt mit dem Namen *.bak

Folgendes habe ich ausprobiert und ist genau das was ich brauche, aber es funktioniert nicht, wenn die Dateien Leerzeichen enthalten und das tun etliche Dateien leider :-(

Code:
for i in $(ls *.doc); do touch $i ${i%.*}.bak; done

Weiss jemand wie ich das umschreiben muss das es auch mit Leerzeichen funktioniert? Kann auch ganz anders gelöst werden, Hauptsache es funktioniert. :)
Also ohne Leerzeichen geht es!!!

Ich hoffe ihr könnt mir helfen ich verzweifle grad. Kenn mich mit der Bash leider nicht gut aus.

Vielen Dank schon einmal im vorraus
 
A

Anonymous

Gast
hi,
vielleicht hilft Dir
for i in *.doc;do x=`echo "$i"|sed -e 's/doc/bak/g'`;touch "$x";done
ja weiter ?

edith--//
oder noch einfacher (getestet!!!)
for i in *.doc;do touch "`echo "$i"|sed -e 's/doc/bak/g'`";done
\\--edith

Mƒg ®êïñï
 
Also irgendwie verstehe ich deinen Befehl nicht und bei mir funktioniert das leider auch nicht. :-(

Habe aber nun etwas passendes gefunden

Code:
#!/bin/bash
IFS=$'\n';
for i in $(ls *.doc); do
touch $i ${i%.*}.bak;
done;
IFS=$' ';

Trotzdem vielen Dank
Gruß
SchneeMann
 
Oben