Общая настройка

-root-dir<br>
---dir-tar<br>
---file<br>
---dir<br>
------dir<br>
------file<br>
---dir<br>
------dir<br>
------fil<br>

Команда, которую я выполнил:

find ./dir -type f -iname "*" -exec mv {} --target-directory=dir-tar /;

Я был в root-dir (обратите внимание, что dir-tar находится внутри root-dir)

проблема

Подкаталоги не были перемещены. Все файлы теперь перечислены в dir-tar без их подкаталогов (в основном неорганизованный беспорядок!)

Так что любая помощь приветствуется. Есть ли какая-нибудь информация о том, что и куда ушло? Я попытался с помощью ls -lrt посмотреть на даты или время, но не существует реального способа собрать их воедино.

Любая помощь приветствуется. Благодарю.

1 ответ1

1

Ну, нашел, сделал то, что вы просили. Он нашел каждый файл и переместил каждый файл. Если у вас нет какой-либо справочной информации (резервное копирование, архив), я считаю, что почти невозможно восстановить исходную структуру, поскольку, насколько мне известно, файловые системы не имеют обратной возможности для перемещения файлов.

В будущем, возможно, будет целесообразно подготовить "эхо" для вашей команды, чтобы вы видели, что произойдет, прежде чем выполнить ее. В данном конкретном случае то, что вы хотели сделать, может быть достигнуто с помощью mv dir/* tar-dir или:

find /path -type d -maxlevel 1 -exec -->echo<-- mv {} /dest/ \;

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