নিম্নলিখিত চেষ্টা করুন (শুরু /home/johnny/):
for f in * ; do awk 'BEGIN {print "Hello\n";} {gsub("([ \t]+)$", ""); print $0; }' "$f" >"$f.2"; done
এটি .2একই ডিরেক্টরিতে ফাইল তৈরি করে। এই ফাইলগুলিতে পরিবর্তন রয়েছে।
forবিবৃতি ডিরেক্টরির মধ্যে সব ফাইল তালিকাবদ্ধ করে। আপনি যদি কেবলমাত্র পাঠ্য ফাইলগুলি প্রক্রিয়া করতে চান তবে আপনি এর *.txtপরিবর্তে ব্যবহার করতে পারেন *।
awkসঞ্চালিত 2 কর্ম:
- "হ্যালো" এবং ফাঁকা লাইন দিয়ে প্রতিটি ফাইল প্রস্তুত করে।
- প্রতিটি লাইনের শেষে থেকে স্পেস এবং ট্যাব অক্ষর সরিয়ে দেয়।
ফলাফলগুলি স্ট্যান্ডার্ড আউটপুটে প্রদর্শিত হয়।
শেষ পর্যন্ত একটি সাধারণ পুনঃনির্দেশ .2প্রক্রিয়াজাত স্ট্যান্ডার্ড আউটপুট থেকে ফাইলগুলি তৈরি করে ।
এটি ফাইলগুলিতে তাদের নামে ফাঁকা স্থান নিয়ে কাজ করে, কারণ $fউদ্ধৃত হয়েছে।
আপনি যদি মূল ফাইলগুলি রাখতে না চান তবে কমান্ডটি নিম্নরূপে পরিবর্তন করুন:
for f in * ; do awk 'BEGIN {print "Hello\n";} {gsub("([ \t]+)$", ""); print $0; }' "$f" >"$f.2"; mv "$f.2" "$f"; done
প্রধান সংযোজন হ'ল মুভ কমান্ড যা পরিবর্তিত সংস্করণ সহ মূল ফাইলগুলিকে প্রতিস্থাপন করে।