Bash: Как я могу переместить все содержимое в папке на один уровень? - PullRequest
9 голосов
/ 01 апреля 2012

Как мне переместить всю папку _vim в ~ / .vim?

$ mv ~/.vim/_vim/ ~/.vim
mv: `/home/kithokit/.vim/_vim/' and `/home/kithokit/.vim/_vim' are the same file

Я не могу этого сделать.По сути, я хочу просто переместить все содержимое папки _vim на один уровень, который находится в ~/.vim/

Ответы [ 3 ]

17 голосов
/ 01 апреля 2012
mv ~/.vim/_vim/* ~/.vim

Bash расширяет *, такую ​​команду теперь читает

mv ~/.vim/_vim/file_1 ... ~/.vim/_vim/file_n ~/.vim
1 голос
/ 01 апреля 2012

Если вы хотите осторожно перемещать скрытые точечные файлы, а также обычные, видимые файлы, а также не загромождать файлы, уже находящиеся в ~/.vim/, сделайте следующее:

for A in $( find -mindepth 1 -maxdepth 1 ~/.vim/_vim ) ; do B=$( basename $A ) ; mv -iv ~/.vim/_vim/$B ~/.vim/ ; done

Скорее всего, вы захотите следовать с rmdir ~/.vim/_vim.

См. Также предложения @Dunes в комментариях ниже.

0 голосов
/ 01 апреля 2012
$ mv ~/.vim/_vim/* ~/.vim/
$ rmdir ~/.vim/_vim
...