Aber das Zielverzeichnis selber darf man nicht in sich selbst kopieren. Das gibt auf die Finger...
Ja, es gibt aber nur eine Meldung, die man getrost ignorieren kann. Aller anderen Dateien/Verzeichnisse werden ja trotzdem verschoben.
Als zsh-User habe ich auch die Möglichkeit, einzelne Dateitypen zu adressieren, z. B. reguläre Dateien mit \*(.)', Verzeichnisse mit
*(/)', links mit `*(@)'...
Mit der zsh hat man aber auch die Möglichkeit, gewisse globs aus dem globbing auszuschließen.
Ist die Struktur wie folgt:
$PWD
|---- bild01.png
|---- bild02.gif
|---- bild03.jpg
|---- einv
| |---- bild04.png
| |-----bild05.iff
|---- nochein.gif
|---- ziel
| |---- bild06.gif
|---- zuletzt.png
addressiert man mit
**/*~(**ziel)~ziel/*
genau die Dateien bild01.png, bild02.gif, bild03.jpg, einv/bild04.png und einv/bild05.iff
Setzt man das ein in
mv **/*~(**ziel)~ziel/* ziel
hat man allerdings das problem, dass bild04.png und bild05.iff nicht mehr existieren, wenn einv mal verschoben ist, also nur reguläre Dateien:
mv **/*~(**ziel)~ziel/*(.) ziel
$PWD
|---- einv
|---- ziel
|---- bild01.png
|---- bild02.gif
|---- bild03.jpg
|---- bild04.png
|-----bild05.iff
|---- bild06.gif
|---- nochein.gif
|---- zuletzt.png
Vorsicht mit doppelten Dateinamen!!!
Achja, und man muss mittels
setopt extendedglob
dieses fancy feature erstmal einschalten...
Gruß,
Jagged