Apache Ant-এ <replace>
টাস্কটি একটি ফাইলের মধ্যে নির্দিষ্ট টেক্সট বা স্ট্রিং পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি সাধারণত text replacement (টেক্সট প্রতিস্থাপন) এর জন্য ব্যবহৃত হয়, যেমন কনফিগারেশন ফাইলের মধ্যে কিছু মান পরিবর্তন করা বা সোর্স কোডের মধ্যে নির্দিষ্ট স্ট্রিং পরিবর্তন করা।
<replace file="file_path" token="old_text" value="new_text"/>
এটি একটি সহজ উদাহরণ যেখানে একটি ফাইলে old_text কে new_text দিয়ে প্রতিস্থাপন করা হচ্ছে।
sample.txt
This is an old file.
We need to replace the old text with new text.
<project name="ReplaceTextExample" default="replaceText" basedir=".">
<target name="replaceText">
<!-- Replacing text in the file -->
<replace file="sample.txt" token="old" value="new"/>
</target>
</project>
এখানে:
sample.txt
ফাইলের মধ্যে old শব্দটি new দিয়ে প্রতিস্থাপন করবে।ফাইলের মধ্যে old শব্দটি new দিয়ে পরিবর্তিত হবে। নতুন sample.txt
ফাইলটি এমন দেখাবে:
This is an new file.
We need to replace the new text with new text.
একাধিক টোকেন বা স্ট্রিং একসাথে প্রতিস্থাপন করতে আপনি <replace>
টাস্কে একাধিক টোকেন নির্ধারণ করতে পারেন।
<project name="ReplaceMultipleTextExample" default="replaceMultipleText" basedir=".">
<target name="replaceMultipleText">
<!-- Replacing multiple tokens in the file -->
<replace file="sample.txt" token="old" value="new"/>
<replace file="sample.txt" token="file" value="document"/>
</target>
</project>
এখানে:
নতুন sample.txt
ফাইলটি এমন দেখাবে:
This is an new document.
We need to replace the new text with new text.
<replace>
টাস্কে আপনি regular expressions ব্যবহার করতে পারেন, যার মাধ্যমে আরও জটিল টেক্সট পরিবর্তন করা সম্ভব।
<project name="ReplaceRegexExample" default="replaceRegex" basedir=".">
<target name="replaceRegex">
<!-- Replacing text using regular expression -->
<replace file="sample.txt" token="old\sfile" value="new document" />
</target>
</project>
এখানে:
token="old\sfile"
: এখানে \s
ব্যবহার করা হয়েছে যা space (স্পেস) কে চিহ্নিত করে, এবং old file এর জায়গায় new document বসানো হবে।ফাইলের মধ্যে old file শব্দটি new document দিয়ে প্রতিস্থাপিত হবে।
This is an new document.
We need to replace the new text with new text.
আপনি যদি ফাইলটি পরিবর্তন করার আগে তার একটি ব্যাকআপ রাখতে চান, তবে <replace>
টাস্কে backup অ্যাট্রিবিউট ব্যবহার করতে পারেন।
<project name="ReplaceWithBackupExample" default="replaceWithBackup" basedir=".">
<target name="replaceWithBackup">
<!-- Replacing text with backup -->
<replace file="sample.txt" token="old" value="new" backup="true"/>
</target>
</project>
এখানে:
যখন আপনি replaceWithBackup টাস্কটি রান করবেন, sample.txt
ফাইলটির একটি ব্যাকআপ তৈরি হবে, যা sample.txt~
নামে সংরক্ষণ হবে।
আপনি fileset টাস্ক ব্যবহার করে একাধিক ফাইলে টেক্সট পরিবর্তন করতে পারেন।
<project name="ReplaceInMultipleFilesExample" default="replaceInMultipleFiles" basedir=".">
<target name="replaceInMultipleFiles">
<replace>
<fileset dir="src" includes="*.txt"/>
<token value="old"/>
<value value="new"/>
</replace>
</target>
</project>
এখানে:
যে সমস্ত .txt ফাইল src ডিরেক্টরিতে রয়েছে, সেগুলির মধ্যে old শব্দটি new দিয়ে প্রতিস্থাপন করা হবে।
<replace>
টাস্কে আপনি encoding অ্যাট্রিবিউট ব্যবহার করে ফাইলের ইনকোডিং নির্ধারণ করতে পারেন।
<project name="ReplaceWithEncodingExample" default="replaceWithEncoding" basedir=".">
<target name="replaceWithEncoding">
<!-- Replacing text with encoding -->
<replace file="sample.txt" token="old" value="new" encoding="UTF-8"/>
</target>
</project>
এখানে:
ফাইলটি UTF-8 এনকোডিংয়ে পরিবর্তিত হবে, এবং old শব্দটি new দিয়ে প্রতিস্থাপিত হবে।
<replace>
টাস্কটি Apache Ant-এ একটি অত্যন্ত উপকারী টাস্ক যা ফাইলের মধ্যে টেক্সট পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি ব্যবহার করে আপনি:
এটি একটি খুবই উপকারী টাস্ক যখন আপনি কোড বা কনফিগারেশন ফাইলগুলিতে টেক্সট পরিবর্তন করার কাজ অটোমেট করতে চান।
common.read_more