Удалить родительскую папку, сохраняющую содержавшие файлы?

Это возможный это, если у меня есть это:

/folder1/folder2/folder3
/folder1/folder2/file1.txt

Я могу удалить folder2, но сохранить его содержание?

Таким образом, результат был бы похож:

/folder1/folder3
/folder1/file1.txt
6
задан 21 March 2014 в 23:28

3 ответа

cd /folder1/folder2/
mv * ../
cd ../

Теперь проверяют содержание папки:

ls

Тогда использование эта команда для удаления каталога. Это абсолютно безопасно, так как это будет [только 113] удалять пустые каталоги:

rmdir folder2/
11
ответ дан 17 November 2019 в 04:40

Я думаю, что Вы не должны на самом деле удалять что-то... просто отодвигают его.

mv  /folder1/folder2/*  /folder1/
rmdir /folder1/folder2/

команда First перемещает содержание в родительский каталог, и второе удалило каталог, если это пусто. Это не переместит скрытые/точечные файлы. Если бы Вы хотите также переместить скрытые файлы, Вам было бы нужно:

mv  /folder1/folder2/{*,.*}  /folder1/
rmdir /folder1/folder2/

или использование dotglob опция в ударе. Если бы у Вас нет точечных файлов, это привело бы к no matches found: dir1/dir2/.* в ударе, и команда перестала бы работать. Также можно проигнорировать:

mv: cannot move ‘folder1/folder2/..’ to ‘folder1/..’: Device or resource busy

ошибки начиная с передач удара . и .. к mv.

6
ответ дан 17 November 2019 в 04:40

Также обработать скрытые файлы:

mv $(find folder2 -mindepth 1 -maxdepth 1) . && rmdir folder2

, Если это превышает ARG_MAX, используйте этого вместо этого:

find folder2 -mindepth 1 -maxdepth 1 -exec mv {} . \; && rmdir folder2

ответ Rinzwind не обрабатывает скрытые файлы. Если бы Вы используете bash и хотите соответствовать всем скрытым файлам * подстановочный знак, Вы нуждались бы shopt -s dotglob сначала или просто поместили бы его в ~/.bashrc.

демонстрация:

$ find .
.
./folder2
./folder2/.hidden
./folder2/file1.txt
./folder2/folder3

$ mv $(find folder2 -mindepth 1 -maxdepth 1) . && rmdir folder2

$ find .
.
./.hidden
./file1.txt
./folder3
0
ответ дан 17 November 2019 в 04:40

Другие вопросы по тегам:

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