2012-04-01 4 views
9

_vimのフォルダ全体を〜/ .vimに移動するにはどうしたらいいですか?Bash:フォルダ内のすべてのコンテンツを1レベルまで移動するにはどうすればよいですか?

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

私はそれを行うことができません。 は基本的に私は何をしたいだけ~/.vim/

+0

@Mat why downvote?なぜ近くに? –

+0

私はそれらのどちらもしませんでした。 – Mat

+0

プログラミングに関する質問ではありません - http://superuser.comに属しています –

答えて

17
mv ~/.vim/_vim/* ~/.vim 

バッシュは*そのようなコマンドは、現在

mv ~/.vim/_vim/file_1 ... ~/.vim/_vim/file_n ~/.vim 
+0

thx it works! * –

+0

これはドットファイル(「.config」など)をスキップします。 –

+0

@Dunesまさに、_all_ディレクトリの内容は(要求されたとおりに)移動しません。私はそれが言及する価値があると思います。 –

0
$ mv ~/.vim/_vim/* ~/.vim/ 
$ rmdir ~/.vim/_vim 
1
を読み込み展開している1つのレベルまで _vimフォルダ内のすべての内容を移動しています

隠されたドットファイルだけでなく、通常の表示可能なファイルを移動し、すでに~/.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の提案も参照してください。

+1

xargsを使用すると、コマンドを簡単にすることができます。 'find -mindepth 1 -maxdepth 1〜/ .vim/_vim | xargs mv -iv -t〜/ .vim/'を実行します。 '-i'の代わりに' -u'を使うこともできます。 – Dunes

+0

@Dunes:それは素晴らしいです。私は '-t'オプションについて知らなかったし、最後に' xargs'を使ってから10年が経ちました。私はそれが好きです。 – thb

関連する問題