2012-04-01 20 views
9

मैं _vim के पूरे फ़ोल्डर को ~/.vim में कैसे स्थानांतरित कर सकता हूं?बैश: मैं फ़ोल्डर में सभी सामग्री को एक स्तर तक कैसे स्थानांतरित कर सकता हूं?

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

मैं ऐसा नहीं कर सकता। असल में मुझे क्या करना चाहते हैं तो बस एक स्तर है, जो ~/.vim/ में

+0

@ मेट क्यों डाउनवोट? बंद क्यों ? –

+0

मैंने उनमें से कोई भी नहीं किया। – Mat

+0

कोई प्रोग्रामिंग प्रश्न नहीं है - http://superuser.com –

उत्तर

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

बैश फैलता * इस तरह के आदेश अब पढ़ता

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

thx पर काम करता है यह काम करता है! मुझे * –

+0

याद आती है यह डॉट फाइलों को छोड़ देगा (जैसे ".config")। –

+0

@Dunes बिल्कुल, यह _all_ निर्देशिका सामग्री को स्थानांतरित नहीं करेगा (जैसा अनुरोध किया गया था)। मुझे लगता है कि उल्लेखनीय लायक है। –

0
$ mv ~/.vim/_vim/* ~/.vim/ 
$ rmdir ~/.vim/_vim 
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 का उपयोग कर सकते हैं। 'ढूंढें- मिंडेपथ 1 -मैक्सडेप 1 ~/.vim/_vim | xargs mv -iv -t ~/.vim/'। आप '-i' के बजाय' -u' का उपयोग भी करना चाह सकते हैं। – Dunes

+0

@ ड्यून्स: यह अच्छा है। मुझे '-t' विकल्प के बारे में पता नहीं था, और पिछले दस वर्षों से मैंने' xargs' का उपयोग किया था। मुझें यह पसंद है। – thb

संबंधित मुद्दे

 संबंधित मुद्दे