জিএনইউ সহ sed
:
sed -E 's/[[:alpha:]]+/\u&/3'
প্রতিটি লাইন থেকে চিঠিগুলির তৃতীয় ক্রমকে মূলধন করবে।
প্রতিটি লাইনে অক্ষরের প্রতিটি তৃতীয় ক্রমকে মূলধন করতে :
sed -E 's/(([[:alpha:]]+[^[:alpha:]]+){2})([[:alpha:]]+)/\1\u\3/g'
জিএনইউ দিয়ে পুরো ইনপুটগুলিতে অক্ষরের প্রতিটি তৃতীয় ক্রমকে মূলধন করতে awk
:
awk -v RS='[^[:alpha:]]+' -v ORS= '
NR % 3 == 0 {$0=toupper(substr($0,1,1)) substr($0,2)}
{print $0 RT}'
বা সাথে perl
:
perl -Mopen=locale -pe 's/\p{alpha}+/++$n % 3 == 0 ? "\u$&" : "$&"/ge'
যদিও [[:alpha:]]
চরিত্র বর্গ কিছু সিস্টেমে একটু এলোমেলো হতে পারে (গনুহ সিস্টেমে উদাহরণস্বরূপ, যে আরবি বেশী (0123456789) বর্জনের অনেক সংখ্যাসমূহ অন্তর্ভুক্ত), পার্ল এর \p{...}
ইউনিকোড অক্ষর বৈশিষ্ট্য উপর ভিত্তি করে তৈরি। সুতরাং \p{alpha}
এগুলিতে সমস্ত বর্ণমালার অক্ষর এবং অ-অক্ষর বর্ণমালা বর্ণগুলিও অন্তর্ভুক্ত থাকবে।
এটিতে ডায়াক্রিটিক্সের সমন্বয় অন্তর্ভুক্ত হবে না যদিও এর অর্থ হ'ল Stéphane
দুটি শব্দ পৃথক শব্দ হিসাবে বিবেচিত হবে।
সুতরাং আপনি পরিবর্তে চাইতে পারেন:
perl -Mopen=locale -pe 's/[\p{alpha}\p{mark}]+/++$n % 3 == 0 ? "\u$&" : "$&"/ge'
যদিও এটি শেষ হতে পারে অনেকগুলি সহ।
এছাড়াও নোট করুন যে GNU এর বিপরীতে sed
, পার্লস ( যেমন একটি লিগচার চরিত্রটি রয়েছে) (2 অক্ষর এবং ) এর \u
মতো শব্দগুলিকে সঠিকভাবে রূপান্তরিত করবে ।fiddle
fi
Fiddle
F
i