Jagged: Linux Konsole, Dateien verschieben

Beitrag lesen

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