1

У меня есть несколько файлов в нескольких каталогах, некоторые похоронены в подкаталогах. Я хочу иметь возможность перемещать все файлы, пока они не имеют глубину только 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

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

#!/bin/sh

IFS='
'
for i in $(find ./*/ -mindepth 2 -type f); do
    mv -- "${i}" "${i%/*/*}"
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .