Как рекурсивно переместить все папки на один каталог вверх на один каталог


15

У меня есть папки в ландшафт / ландшафт, которые содержат папки, называемые ландшафтом и объектами. Эти папки имеют папки с файлами данных. Как переместить все содержимое пейзажа / ландшафта / [имя] / ландшафта в пейзаж / ландшафт, а содержимое пейзажа / ландшафта / [имя] / объекта в пейзаж / объекты?

Ответы:


19

Для команды нет рекурсивного параметра mv, поэтому, если в каталогах, которые вы хотите переместить, есть каталоги, вам придется их использовать cp. Как насчет этого:

cp -R scenery/terrain/*/terrain/* scenery/terrain/
cp -R scenery/terrain/*/objects/* scenery/objects/

Тогда, когда вы уверены, что сработало:

rm -rf scenery/terrain/*/terrain
rm -rf scenery/terrain/*/objects

Хороший вопрос, но я думаю, что под Mac OS это будет cp -R (верхний регистр R).
QSQ

@QSQ Спасибо за исправление. Исправлено сейчас.
Райан

-р работал нормально.
Андрей Д.

1
mv scenery/terrain/*/terrain/* scenery/terrain/
mv scenery/terrain/*/objects/* scenery/objects/

Попробуйте на копии папки на случай, если я что-то неправильно понял :-)
QSQ

Слишком поздно сейчас .. Не с моей стороны. Я всегда могу просто перенаправить 13 ГБ пейзажа.
Эндрю Д.

Не сработало Говорит, что «каталог не пустой»
Эндрю Д.

Хм странно. Я попробовал это здесь с созданием такого дерева и помещением файлов в ландшафт / ландшафт / ландшафт / пейзаж / ландшафт / ландшафт / ландшафт / пейзаж / ландшафт / объект / и ландшафт / ландшафт / b / объекты /
QSQ

Может быть, я могу попытаться переместить текущий каталог / каталог местности в другое место, чтобы предотвратить конфликт файлов?
Андрей Д.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.