Одним из подходов может быть использование grep в сочетании с xargs:
ls -A | egrep -v sonDir | xargs -i mv {} sonDir
- сначала перечислите все файлы и папки в текущем каталоге (например, FatherDir) с помощью
ls
- не забудьте также прочитать скрытые файлы с флагом
-A
egrep -v позволяет исключить sonDir из распечатанного вывода
- создайте командную строку из стандартного ввода с помощью
xargs и замените {} на имя файла. Опция -i здесь обязательна!
Это оно! Я использую этот подход довольно часто, поскольку он позволяет исключить не только папку, но и разные папки и файлы одновременно. Если вы хотите исключить, например, sonDir daughterDir и nephew.file вы можете сделать это, просто указав egrep -v '(sonDir|daughterDir|nephew.file)' , остальная часть показанной выше команды останется прежней ... и есть много вариаций!