यूनिक्स की तरह
यूनिक्स जैसी कमांड-लाइन (लिनक्स, ओएसएक्स आदि पर) आप cat
किसी फाइल की सामग्री को एसटीडीयूएसटी में प्रिंट करने के लिए और >
एसटीडीयूएसटाउट को किसी फाइल पर रीडायरेक्ट करने के लिए उपयोग कर सकते हैं।
cat template.txt > file.txt
सबसे आसान तरीका template.txt
एक अलग निर्देशिका में रखा जाता है, फिर आप कार्य निर्देशिका में प्रत्येक * .txt को प्रभावित करने के लिए लूप के लिए उपयोग कर सकते हैं।
for f in ./*.txt; do cat /path/to/template.txt > "$f"; done
बैश 4+ वाले सिस्टम पर (किसी भी आधुनिक * निक्स के पास यह होने की संभावना है; साथ में जांच करें bash --version
), आप विस्तारित ग्लोबिंग का उपयोग कर सकते हैं, इसलिए आप template.txt
उसी निर्देशिका में हो सकते हैं जिस फाइल को आप लिखना चाहते हैं:
shopt -s extglob
for f in ./!(*template).txt; do cat template.txt > "$f"; done
यदि आपके पास कई उपनिर्देशिकाओं में पाठ फ़ाइलें हैं (चेतावनी: इस काम में सभी लेख लिखें *.txt
और सभी आइटम्स सब्-डाइरेक्ट्रीज़, और सभी उनकी सब्-डाइरेक्टरीज ...) में उपयोग कर सकते हैं, तो आप ग्लोबस्टार का उपयोग कर सकते हैं:
shopt -s globstar
for f in ./**/*.txt; do cat /path/to/template.txt > "$f"; done
## OR:
shopt -s globstar extglob
for f in ./**/!(*template).txt; do cat template.txt > "$f"; done
खिड़कियाँ
यह समान रूप से काम करता है, हालांकि वाक्य रचना अलग है। इसके बजाय cat
, उपयोग करें type
:
type template.txt > file.txt
प्रत्येक .txt
निर्देशिका में काम करने के लिए :
FOR %F IN (*.txt) DO type C:\path\to\template.txt > %F
पुनरावर्तन के लिए, उपयोग करें /R
:
FOR /R %F IN (*.txt) DO type C:\path\to\template.txt > %F
cat
याtype
बजायcp
याcopy
?