मैं एक फ़ोल्डर में सभी सबफ़ोल्डर्स के लिए एक फाइल कॉपी करना चाहता हूं। मैं कमांड लाइन के साथ यह कैसे कर सकता हूं?
मैं एक फ़ोल्डर में सभी सबफ़ोल्डर्स के लिए एक फाइल कॉपी करना चाहता हूं। मैं कमांड लाइन के साथ यह कैसे कर सकता हूं?
जवाबों:
सभी सबफ़ोल्डर्स (और शायद उनके सबफ़ोल्डर्स, जो आप चाहते हैं, उसके आधार पर) में वर्तमान वर्किंग डायरेक्टरी में एक फ़ाइल कैसे डालें
यह फ़ाइल सभी सबफ़ोल्डर्स में डाल देगा, लेकिन उनके सबफ़ोल्डर्स में नहीं:
for d in */; do cp water.txt "$d"; done
यह फ़ाइल water.txt
को सभी सबफ़ोल्डर्स और उनके सबफ़ोल्डर्स में फ़ाइल नाम के सभी उदाहरणों को बदलना होगा।
for i in ./* # iterate over all files in current dir
do
if [ -d "$i" ] # if it's a directory
then
cp water.txt "$i" # copy water.txt into it
fi
done
इस linuxquestions धागे से जानकारी
आप उस एक-लाइनर का उपयोग कर सकते हैं:
find <target-dir> -type d -exec cp <the file> {} \;
सीमा की गहराई 1 -> केवल तात्कालिक निर्देशिकाओं तक
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;