मैं लिनक्स में एक फोल्डर से केवल प्लेन फाइल्स (डायरेक्टरीज को नहीं) को दूसरे फोल्डर का उपयोग करके कैसे स्थानांतरित कर सकता हूं mv
आदेश?
मैंने कोशिश की है mv * ~/
, लेकिन यह निर्देशिका सहित सब कुछ नकल की।
मैं लिनक्स में एक फोल्डर से केवल प्लेन फाइल्स (डायरेक्टरीज को नहीं) को दूसरे फोल्डर का उपयोग करके कैसे स्थानांतरित कर सकता हूं mv
आदेश?
मैंने कोशिश की है mv * ~/
, लेकिन यह निर्देशिका सहित सब कुछ नकल की।
जवाबों:
मैं "सब कुछ के लिए एक हथौड़ा का उपयोग कर रहा हूँ" थोड़े आदमी तो मैं सामान दूसरों के लिए बाहरी कार्यक्रमों का उपयोग करने के लिए बोर्न शेल कार्यक्रमों का उपयोग करता हूं ...
for file in * .*
do
test -f "$file" && mv "$file" "$HOME"/
done
कुछ लोग चीजों को कम से कम टाइपिंग में करवाना पसंद करते हैं, लेकिन मैं बहुत जल्दी टाइपिस्ट हूं और मुझे इस तरह का सामान मेरे मस्तिष्क में मिल गया है, इसलिए इसे देखने के बजाय ऐसा करने के लिए बहुत दर्द नहीं है सभी को खोजने और निष्पादित करने के लिए तर्क।
YMMV, हालांकि ...
@Mereghost बहुत करीब है। यहां मुझे सभी फ़ाइलों (छिपी फ़ाइलों सहित) को स्थानांतरित करने के लिए मिलता है, लेकिन निर्देशिका नहीं
find . -maxdepth 1 -type f -name '*' -exec mv -n {} /destination_path \;
.
पता लगाने के बाद आप वर्तमान निर्देशिका फ़ाइलों को स्थानांतरित करना चाहते हैं का स्रोत है। यदि नहीं, तो आदेश को संशोधित किया जा सकता है:
find /source_path -maxdepth 1 -type f -name '*' -exec mv -n {} /dest_path \;
यदि आप केवल नियमित फ़ाइल को स्थानांतरित करना चाहते हैं और छिपी हुई फ़ाइलें नहीं:
find . -maxdepth 1 -type f -name '[!.]*' -exec mv -n {} /dest_path \;
यदि आप केवल छिपी हुई फ़ाइलों को स्थानांतरित करना चाहते हैं, न कि नियमित फ़ाइलों को:
find . -maxdepth 1 -type f -name '.*' -exec mv -n {} /dest_path \;
आप पा सकते हैं
find * -maxdepth 1 -type f -exec mv {} ~ \;
mv `ढूंढें ।/sourcedir/* -type f`/destdir
find
की -exec
विकल्प समस्या से बचने का सबसे अच्छा तरीका है।