Ein Ansatz könnte sein, grep in Kombination mit xargs zu verwenden:
ls -A | egrep -v sonDir | xargs -i mv {} sonDir
- Listen Sie zuerst alle Dateien und Ordner im aktuellen Verzeichnis (zB fatherDir) mit auf
ls
- Stellen Sie sicher, dass Sie auch versteckte Dateien mit dem
-A
Flag auslesen
egrep -v
Mit dieser Option können Sie sonDir von der Druckausgabe ausschließen
- Erstellen Sie eine Befehlszeile aus der Standardeingabe mit
xargs
und ersetzen Sie diese {}
durch den Dateinamen. Option -i
ist hier erforderlich!
Das ist es! Ich benutze diesen Ansatz ziemlich häufig, da Sie damit nicht nur einen Ordner, sondern auch verschiedene Ordner und Dateien gleichzeitig ausschließen können. Falls Sie zB ausschließen möchten sonDir
daughterDir
und nephew.file
dies durch einfaches Angeben tun können egrep -v '(sonDir|daughterDir|nephew.file)'
, bleibt der Rest des oben gezeigten Befehls derselbe ... und es gibt viele Variationen!