উত্তর:
কাজটি করার জন্য একটি সহজ:
for i in ./*.txt; do echo 'cat' >> "$i"; done;
এটি বর্তমান ডিরেক্টরিতে সমস্ত টেক্সট ফাইলের একটি তালিকা পাবে, সেগুলি জুড়ে লুপ করবে এবং echoএগুলিতে বিড়াল হবে (সামগ্রীতে সংযোজন)। আপনি পরিবর্তন করতে পারেন >>থেকে >, বিড়াল ফাইল বিষয়বস্তু ওপর দিয়েই লিখতে।
আপনি করতে পারেন এমন আরেকটি জিনিস হ'ল teeএকাধিক ফাইলে একটি স্ট্রিম পুনর্নির্দেশ করতে।
সংযোজন:
echo "cat" | tee -a *.txt
ওভাররাইট করতে:
echo "cat" | tee *.txt
ambiguous redirect
ফাইলগুলি ফাঁকা না sedথাকলে আপনি লুপিং ছাড়া ব্যবহার করতে পারেন । যোগ করার জন্য catশুরুতে:
sed 'i\cat' *.txt
শেষে যুক্ত করতে:
sed 'a\cat' *.txt
দ্বিতীয় লাইনের পরে যুক্ত করতে:
sed '2 a\cat' *.txt
fooতাদের সাথে লাইনগুলির আগে যুক্ত করতে:
sed '/foo/ i\cat' *.txt
যদিও এটি খালি ফাইলগুলিতে কাজ করে না। এক বাগ ধরণের।
(পরীক্ষার পরে ফাইলগুলিতে আসলে লিখতে আপনার -iবিকল্পের প্রয়োজন sed -i 'a\cat' *.txt:)
sedআমার জাম;)
'i\cat'স্ল্যাশের পরিবর্তে ব্যাকস্ল্যাশ ব্যবহার করবে কেন ?
'icat'বা করতে পারেন i cat। ব্যাকস্ল্যাশ প্রচলিত আমি বিশ্বাস করি। আপনি ফরওয়ার্ডস্ল্যাশ ব্যবহার করতে পারবেন না - এটি আক্ষরিকভাবে
পাইথন পদ্ধতির:
#!/usr/bin/env python
import sys
for i in sys.argv[1:]:
with open(i,'w') as fd:
fd.write("cat\n")
sysকমান্ড-লাইন আর্গুমেন্টগুলি পুনরাবৃত্তি করতে মডিউল ব্যবহার করেব্যবহারটি হ'ল ./add_cat.py *.txt, যা .txtবর্তমান ওয়ার্কিং ডিরেক্টরিতে থাকা সমস্ত ফাইলে কাজ করবে। এর উন্নতিতে কমান্ড-লাইন যুক্তি # 1 টি স্ট্রিং হিসাবে "ক্যাট" হার্ডকডিংয়ের পরিবর্তে লেখার জন্য অন্তর্ভুক্ত থাকতে পারে।
echo "cat" >> *.txt?