TimoFrenzel
31.03.14, 13:09
Hi, da ich (noch) nicht so Linixversiert bin, eine kleine Frage.
Ich habe eine Text Datei mit einer Liste von Dateien.
Diese möchte ich kopieren.
In der Datei:
/xxx/xxx/xxx/imagesbak/bild1.png
/xxx/xxx/xxx/imagesbak/xxx/xxx/bild2.png
...
diese möchte ich dann hier her kopieren:
/xxx/xxx/xxx/images/bild1.png
/xxx/xxx/xxx/images/xxx/xxx/bild2.png
...
Die Zielordner müssen beim Kopieren erstellt werden, da diese noch nicht vorhanden sind.
Gibt da was feines?
was ich schon habe ist dies hier:
cat /home/vagrant/4.txt | while read file ; do cp "$file" /ziel/ ; done;
wie aber bekomme ich nun im zielstring das "imagesbak" zu "images"??
Dieser Versuch klappte nicht
cat /home/vagrant/4.txt | while read file ; do rename 's/imagesbak/images/g' $file > /home/vagrant/5.txt ; done
und
cat /home/vagrant/4.txt | while read file ; sed 's/imagesbak/images/g' $file > /home/vagrant/5.txt ; done
geht den inhalt der Datei durch statt den dateinamen
Timo
Ich habe eine Text Datei mit einer Liste von Dateien.
Diese möchte ich kopieren.
In der Datei:
/xxx/xxx/xxx/imagesbak/bild1.png
/xxx/xxx/xxx/imagesbak/xxx/xxx/bild2.png
...
diese möchte ich dann hier her kopieren:
/xxx/xxx/xxx/images/bild1.png
/xxx/xxx/xxx/images/xxx/xxx/bild2.png
...
Die Zielordner müssen beim Kopieren erstellt werden, da diese noch nicht vorhanden sind.
Gibt da was feines?
was ich schon habe ist dies hier:
cat /home/vagrant/4.txt | while read file ; do cp "$file" /ziel/ ; done;
wie aber bekomme ich nun im zielstring das "imagesbak" zu "images"??
Dieser Versuch klappte nicht
cat /home/vagrant/4.txt | while read file ; do rename 's/imagesbak/images/g' $file > /home/vagrant/5.txt ; done
und
cat /home/vagrant/4.txt | while read file ; sed 's/imagesbak/images/g' $file > /home/vagrant/5.txt ; done
geht den inhalt der Datei durch statt den dateinamen
Timo