একটি জিএনইউ সেড সহ:
find . -type f -print0 | xargs -0 sed -i /KeyWord/d
একটি ওএসএক্স সেড সহ:
find . -type f -print0 | xargs -0 sed -i '' /KeyWord/d
প্রথম কমান্ডটি find
সমস্ত স্ট্যান্ডার্ড ফাইল (ডিরেক্টরি নয়, পাইপ, বা ইত্যাদি) সন্ধান করে, সেগুলি দ্বারা পৃথক করে প্রিন্ট করে \0
(যাতে ফাইলের নামগুলিতে স্পেস, নিউলাইন ইত্যাদি থাকতে পারে)।
দ্বিতীয় কমান্ড xargs
আউটপুট পড়বে , find
পৃথককারী ( \0
কারণ -0
) এর উপর ভিত্তি করে একটি sed -i [...]
তালিকা sed
ধরবে , তালিকা থেকে যুক্ত পরামিতিগুলির সাথে আহ্বান জানাবে ( পরামিতিগুলির সর্বাধিক দৈর্ঘ্য সীমাবদ্ধ থাকায় প্রচুর ফাইল থাকলে একাধিকবার বলা হবে) প্রতিটি অনুরোধ)।
sed
ইন-জায়গা কমান্ড মডিফাই ( -i
)।
হিসাবে /KeyWord/d
এটি নিয়মিত অভিব্যক্তি যুক্ত লাইনগুলি মুছে ফেলবে KeyWord
।
sed
আপনার (সাধারণ তবে অস্বাভাবিক) বাক্য গঠনটি সঠিকভাবে বুঝতে শিখতে হবে এবং এখানে জড়িত সরঞ্জামগুলি সম্পর্কে আরও তথ্যের জন্য উপযুক্ত মানচিত্রগুলি পড়ুন।
এবং আমি প্রচার করতে চাই zsh
, এর প্রসারিত গ্লোবগুলি সহ সমাধান:
sed -i /KeyWord/d **/*(.)