এর সাথে gawk
, আপনি ম্যাচ ফাংশনটি ব্যবহার করতে পারেন:
x="hey there how are you"
echo "$x" |awk --re-interval '{match($0,/(.{4})how(.{4})/,a);print a[1],a[2]}'
ere are
আপনি যদি ঠিক থাকেন তবে perl
আরও নমনীয় সমাধান: নিম্নলিখিতটি প্রকৃত প্যাটার্ন অনুসরণের পরে প্যাটার্নের আগে তিনটি অক্ষর এবং তারপরে প্যাটার্নের পরে 5 টি অক্ষর মুদ্রণ করবে।
echo hey there how are you |perl -lne 'print "$1$2$3" if /(.{3})(there)(.{5})/'
ey there how
এটি কেবল অক্ষরগুলির পরিবর্তে শব্দের ক্ষেত্রেও প্রয়োগ করা যেতে পারে ollow প্রকৃত মিলের স্ট্রিংয়ের আগে একটি শব্দ মুদ্রণ করবে ollow
echo hey there how are you |perl -lne 'print $1 if /(\w+) there/'
hey
নিম্নলিখিতটি প্যাটার্নের পরে একটি শব্দ মুদ্রণ করবে:
echo hey there how are you |perl -lne 'print $2 if /(\w+) there (\w+)/'
how
নিম্নলিখিতটি প্যাটার্নের আগে একটি শব্দ, তারপরে আসল শব্দ এবং তারপরে একটি শব্দ মুদ্রণ করবে:
echo hey there how are you |perl -lne 'print "$1$2$3" if /(\w+)( there )(\w+)/'
hey there how