Переместите несколько вложенных файлов вверх, пока они не станут глубиной только в 1 каталог

235
Zach

У меня есть несколько файлов в нескольких каталогах, некоторые похоронены в подкаталогах. Я хочу иметь возможность перемещать все файлы, пока они не имеют глубину только 1 каталог.

например:

/home/folder/subfolder/file1.txt /home/folder2/file2.txt /home/folder3/subfolder/subfolder/subfolder/file3.txt 

будет выглядеть так:

/home/folder/file1.txt /home/folder2/file2.txt /home/folder3/file3.txt 

Я обнаружил, что я могу использовать

find ./*/ -type f 

найти все файлы. Но я не уверен, как их переместить, чтобы они составляли всего 1 каталог.

1

1 ответ на вопрос

0
Zach

Я нашел ответ в виде bash-скрипта

#!/bin/sh  IFS=' ' for i in $(find ./*/ -mindepth 2 -type f); do mv -- "$" "$" done 

Похожие вопросы