উত্তর:
এখানে বর্ণিত হিসাবে , উদাহরণস্বরূপ, এটি শব্দের মধ্যে মেলে :
তিনটি পৃথক অবস্থান রয়েছে যা শব্দ সীমানা হিসাবে যোগ্য:
- স্ট্রিংয়ে প্রথম অক্ষরের আগে, প্রথম অক্ষরটি যদি একটি শব্দের অক্ষর হয়।
- স্ট্রিংয়ের শেষ অক্ষরের পরে যদি শেষ অক্ষরটি একটি শব্দের চরিত্র হয়।
- স্ট্রিংয়ের দুটি অক্ষরের মধ্যে যেখানে একটি শব্দের চরিত্র এবং অন্যটি শব্দের চরিত্র নয়।
এখানে এই মামলার প্রতিটি উদাহরণ দেওয়া হল:
স্ট্রিংয়ের জন্য foobar
, প্রথম কেস মেলে
foobar
^-----here
স্ট্রিংয়ের জন্য foobar
, দ্বিতীয় কেস মেলে
foobar
^--here
স্ট্রিংয়ের জন্য foo bar
, তৃতীয় কেস মিলবে
foo bar
^--here, because space is not a word character
শব্দের চরিত্র হিসাবে যা যোগ্যতা রয়েছে তা নির্দিষ্ট নিয়মিত প্রকাশের প্রয়োগের উপর নির্ভর করে। তবে সব ক্ষেত্রে অক্ষর ( [a-z]
এবং [A-Z]
), সংখ্যা ( [0-9]
) এবং _
শব্দের অক্ষর হিসাবে বিবেচিত হয়।
সুতরাং, আপনি পোস্ট করেছেন উদাহরণস্বরূপ ( \b[A-Z]+\b
) এর অর্থ দীর্ঘতম স্ট্রিংটি সন্ধান করুন যা দুটি শব্দের বাউন্ডারের মধ্যে থাকে এবং এটি কেবলমাত্র বড় হাতের অক্ষর দ্বারা গঠিত। উদাহরণ দিয়ে ব্যাখ্যা করা আরও সহজ হতে পারে:
echo "FOOBAR" | egrep '\b[A-Z]+\b' # Works
echo "FOO BAR" | egrep '\b[A-Z]+\b' # Works
echo "aFOOBARb" | egrep '\b[A-Z]+\b' # Does not work, we want capitals only
echo "12345" | egrep '\b[A-Za]+\b' # Does not work, no letters
echo "1FOOBAR2" | egrep '\b[A-Z]+\b' # Does not work, 1 and 2 are word chars
echo "_FOOBAR_" | egrep '\b[A-Z]+\b' # Does not work, _ is a word char
echo "#FOOBAR$" | egrep '\b[A-Z]+\b' # Works, # and $ are not word chars
egrep
(না /usr/xpg4/bin/egrep
) \b
এইভাবে আচরণ করে না । উদাহরণস্বরূপ, echo "FOOBAR" | egrep '\b[A-Z]+\b'
মেলে না।
egrep '\b[A-Z]+\b' filename.sh
এটি বিরতি দেয়:
[A-Z]
চরিত্র শ্রেণীর যে কোনও একটি চরিত্রকে উপস্থাপন করে
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]
।[A-Z]+
বড় হাতের অক্ষরের এক বা একাধিক উপস্থিতি উপস্থাপন করে। : কখগঘ ম্যাচ হবে A
, HELLO
, IS
, I
, ELEPHANT
, ইত্যাদি'\bINDIA\b'
: হুবহু INDIA
বড় হাতের অক্ষরের মতো এটি উপরের ক্ষেত্রে শব্দটির সন্ধান করে। এটি মেলে নাINDIANA
। সুতরাং একই নীতি প্রয়োগ - '\b[A-Z]+\b'
উপরের ক্ষেত্রে এক বা একাধিক অক্ষরযুক্ত পুরো শব্দগুলির সন্ধান করবে।egrep '\b[A-Z]+\b' filename.sh
ফাইলের একটি বা একাধিক অক্ষরযুক্ত সমস্ত শব্দের অনুসন্ধান করতে হবে - filename.sh
।\b
- হুবহু পুরো শব্দ অনুসন্ধানের মতো।
[azA-Z0-9_]
। ম্যানুয়ালটির জন্য ব্যবহার করুনegrep(1)
, সম্ভবত নিয়মিত প্রকাশের জন্য ব্যবহৃত ব্যবহারের জন্য ডুমেন্টেশন।