Hi,
habe mal wieder etwas vor bei dem ich glaube mir mit dem Shell Programm
find viel Arbeit ersparen zu können. In einem Verzeichnis befinden sich viele Dateien. Diese möchte ich mit einem veränderten Dateinamen in ein anderes Verzeichniss verschieben.
Dies kann ich mittels
mv ./datei1.jpg ../images/videos_`echo './datei1.jpg' | sed 's/^\.\///'`
machen und das funktioniert auch einwandfrei. Nun können sich in dem Quellverzeichnis sehr viele Dateien befinden. Somit wollte ich dies mittels find machen, da es mir schon bei vielen solchen Massenaufgaben mittels einem Kommandoaufrufs viel arbeit abgenommen hat.
Was jedoch mittels find passiert ist folgendes was ich allerdings nicht so ganz verstehe. Kann mir das jemand erklären bzw. helfen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
format_c@manchester:/var/www/localhost/htdocs/web1/http/_images/bilder> ls
deadman.jpg higher_billboard.jpg my_sacrifice.jpg wawo.jpg
dsd.jpg highercover.jpg one_last_breath.jpg weathered_cover.jpg
faculty.jpg humanclaycover.jpg prisoncover.jpg what_if.jpg
higher.jpg my_own_prison.jpg scream3.jpg wtlf.jpg
format_c@manchester:/var/www/localhost/htdocs/web1/http/_images/bilder> \
> find -exec mv {} ../../images/videos_`echo '{}' | sed 's/^\.\///'` \;
mv: cannot move `.' to `../../images/videos_.': Device or resource busy
mv: cannot move `./deadman.jpg' to `../../images/videos_./deadman.jpg': No such file or directory
mv: cannot move `./dsd.jpg' to `../../images/videos_./dsd.jpg': No such file or directory
mv: cannot move `./faculty.jpg' to `../../images/videos_./faculty.jpg': No such file or directory
mv: cannot move `./higher.jpg' to `../../images/videos_./higher.jpg': No such file or directory
mv: cannot move `./higher_billboard.jpg' to `../../images/videos_./higher_billboard.jpg': No such file or directory
mv: cannot move `./highercover.jpg' to `../../images/videos_./highercover.jpg': No such file or directory
mv: cannot move `./humanclaycover.jpg' to `../../images/videos_./humanclaycover.jpg': No such file or directory
mv: cannot move `./my_own_prison.jpg' to `../../images/videos_./my_own_prison.jpg': No such file or directory
mv: cannot move `./my_sacrifice.jpg' to `../../images/videos_./my_sacrifice.jpg': No such file or directory
mv: cannot move `./one_last_breath.jpg' to `../../images/videos_./one_last_breath.jpg': No such file or directory
mv: cannot move `./prisoncover.jpg' to `../../images/videos_./prisoncover.jpg': No such file or directory
mv: cannot move `./scream3.jpg' to `../../images/videos_./scream3.jpg': No such file or directory
mv: cannot move `./wawo.jpg' to `../../images/videos_./wawo.jpg': No such file or directory
mv: cannot move `./weathered_cover.jpg' to `../../images/videos_./weathered_cover.jpg': No such file or directory
mv: cannot move `./what_if.jpg' to `../../images/videos_./what_if.jpg': No such file or directory
mv: cannot move `./wtlf.jpg' to `../../images/videos_./wtlf.jpg': No such file or directory
format_c@manchester:/var/www/localhost/htdocs/web1/http/_images/bilder>
Ich könnte das Problem durch aus auch mit Perl lösen nur möchte ich die Möglichkeiten der Konsole ausschöpfen, da das noch schneller ist wenn man sowieso schon damit arbeitet.
Gruß Alex\n\n
<!--EDIT|format_c|1108816297-->