কমান্ড লাইন থেকে একাধিক নথিতে টেক্সট প্রতিস্থাপন করুন & খুঁজুন

Anonim

আপনি যদি কমান্ড লাইনের সাথে স্বাচ্ছন্দ্যবোধ করেন এবং কখনও এমন পরিস্থিতিতে যেখানে আপনাকে একাধিক পাঠ্য নথির একটি গোষ্ঠীতে একটি শব্দ, বাক্যাংশ, URL বা অক্ষর খুঁজে বের করতে এবং প্রতিস্থাপন করতে হবে, পার্ল কাজটি বেশ ভালভাবে করে। একটি সাধারণ কমান্ড স্ট্রিং খুব দ্রুত একটি গ্রুপ ব্যাচ টেক্সট খুঁজে এবং প্রতিস্থাপন করবে, তা একক নথিতে হোক বা একাধিক নথির একটি গোষ্ঠীর মধ্যে হোক।

কমান্ড লাইনে অনেক কিছুর মতো, কোন নিশ্চিতকরণ প্রক্রিয়া নেই, তাই আপনি নিশ্চিত করতে চাইবেন যে আপনার সিনট্যাক্স সঠিকভাবে সেট করা হয়েছে একটি কমান্ড শুরু করার আগে, অন্যথায় আপনাকে অন্য একটি অনুসন্ধান এবং প্রতিস্থাপন করতে হতে পারে আপনার টাইপো মেরামত করতে।

মৌলিক কমান্ড সিনট্যাক্স নিম্নরূপ: perl -pi -w -e 's/THIS/THAT/g;' /path/to/files.txt

একটি একক শব্দের উদাহরণ, যদি আপনি প্রতিটি .txt ফাইলে "অগ্রে" এর সমস্ত উদাহরণ প্রতিস্থাপন করতে চান "ডকুমেন্টস" ফোল্ডারের মধ্যে, তারপর আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করবেন:

perl -pi -w -e 's/ogre/cornbread/g;' ~/Documents/.txt

একটি একটি সম্পূর্ণ বাক্যাংশ খুঁজে বের করার এবং প্রতিস্থাপনের উদাহরণের জন্য, ধরা যাক আমরা পুরো বাক্যটি প্রতিস্থাপন করতে যাচ্ছি “The Chocolate Factory ডকুমেন্টস ডিরেক্টরিতে সংরক্ষিত "ফিল্ম" দিয়ে শুরু করে .txt ফাইলগুলির একটি গ্রুপে "দ্য উইজার্ড অফ ওজ" সহ:

perl -pi -w -e's/The Chocolate Factory/The Wizard of Oz/g;' ~/ডকুমেন্টস/ফিল্ম.txt

খুঁজে ও প্রতিস্থাপন অবিলম্বে সম্পন্ন হয়। আপনি চেক করতে cat এবং grep ব্যবহার করে পরিবর্তন দুবার চেক করতে পারেন:

"

cat ~/Documents/Films124.txt |গ্রেপ উইজার্ড অফ ওজ"

অবশ্যই, এটি মোটামুটি উন্নত, এবং হ্যাঁ, একাধিক নথির মাধ্যমে ব্যাচ খুঁজে বের করা এবং প্রতিস্থাপন করা GUI অ্যাপস যেমন TextWrangler এবং BBEdit এর মাধ্যমে আরও ব্যবহারকারী বান্ধব ফ্যাশনে করা যেতে পারে, কিন্তু কখনও কখনও কমান্ড লাইনটি দ্রুততর হয় এটির মতো দ্রুত কাজগুলির জন্য এবং অনুরূপ অন্যান্যগুলির জন্য, এছাড়াও এটি ব্যবহার করার জন্য কোনও অতিরিক্ত ডাউনলোডের প্রয়োজন নেই৷

চমৎকার কৌশলের জন্য লাইফহ্যাকারের কাছে একটি বড় থাম্বস আপ৷

আপডেট: 'sed' কমান্ডটি কমান্ড লাইনের মাধ্যমে দ্রুত অনুসন্ধান এবং প্রতিস্থাপন করার আরেকটি উপায়। কভারিং sed বেশিরভাগ অন্য নিবন্ধের জন্য একটি বিষয়, তবে এই কাজের জন্য sed ব্যবহার করার মৌলিক বাক্য গঠনটি একটু সহজ এবং এইভাবে মনে রাখা সহজ:

sed -i 's/THIS/THAT/g' /path/to/files.txt

কোনও সঠিক বা ভুল উপায় নেই, তাই আপনি পার্ল বা সেড ব্যবহার করবেন তা ব্যক্তিগত পছন্দের বিষয় হয়ে দাঁড়ায়।

কমান্ড লাইন থেকে একাধিক নথিতে টেক্সট প্রতিস্থাপন করুন & খুঁজুন