Переместите содержание папки в родительскую папку - Командная строка Linux

У меня есть folderA, который содержит folderB, который содержит много файлов. Я хотел бы избавиться от folderB, но не его содержания. Я хочу, чтобы то содержание было в folderA. Как я могу выполнить это на командной строке?

18
задан 01.10.2010, 03:16

2 ответа

$ cd /path/to/folderA
$ mv folderB/* .
$ rmdir folderB
28
ответ дан 07.12.2019, 10:26

Быстрый ответ:

cd /path/to/folderA
find folderB -maxdepth 1 -mindepth 1 -exec mv {} . \;
rmdir folderB

Выносливый кодом ответ:

cd /path/to/folderA
folderB_temp="$(mktemp -d -t folderB.XXXXXX)"
mv folderB "$folderB_temp"
find "$folderB_temp/folderB" -maxdepth 1 -mindepth 1 -exec mv {} . \;
rmdir --parents --ignore-fail-on-non-empty "$folderB_temp/folderB"
2
ответ дан 07.12.2019, 10:26

Теги

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