স্ট্রিং বিকল্প: সমস্ত ঘটনা


13

একটি সাধারণ প্রশ্ন, তবে আমি উত্তরটি খুঁজে পাচ্ছি না। zsh ডকুমেন্টেশন আমাকে অভিভূত করে :-(

function z ()
{
  echo ${1:s/the/THE}
}

$ z thethethe
THEthethe

...

আমি কেবল প্রথম ঘটনাটিই নয়, সমস্ত 'দ্য' কে 'দ্য' দিয়ে প্রতিস্থাপন করব কীভাবে ? Zsh এর সাথে এটি সবচেয়ে সহজ জিনিস যা উদাহরণগুলির পক্ষে পাওয়া সবচেয়ে কঠিন বলে মনে হয়।

উত্তর:


23

এই হল ইতিহাস সম্প্রসারণ পরিবর্তক , তাই যোগ gঅব্যবহিত পূর্বে পরিবর্তক s

echo ${1:gs/the/THE}

বিকল্পভাবে, পরামিতি প্রসারণ সিনট্যাক্স ব্যবহার করুন যেখানে ডাবল স্ল্যাশ মানে বিশ্বব্যাপী প্রতিস্থাপন। এই ক্ষেত্রে, পরবর্তী অংশটি s//একটি ওয়াইল্ডকার্ড প্যাটার্ন, যেখানে ইতিহাস সম্প্রসারণের বিকল্পটি একটি আক্ষরিক স্ট্রিং নেয়।

echo ${1//the/THE}


3

থিয়্যাগো, এটি সহজ হতে হয়েছিল:

echo ${1//the/THE}

... ডাবল স্ল্যাশ এটি করে এবং আপনি ": s" দিয়ে চারপাশে বোকা বানাতে পারবেন না

বিটিডাব্লু, আমি অবশ্যই বিদ্যমান থাকার জন্য 'স্ট্যাক এক্সচেঞ্জ' সাইটগুলি ধন্যবাদ জানাতে চাই। সমস্ত জিলিয়ন লক্ষ জায়গার মধ্যে যে কোনও প্রশ্ন জিজ্ঞাসা করতে পারে, এগুলি সর্বোত্তম the কেবল প্রায় উত্তরই পায় না, তবে উত্তরগুলি সর্বদা সর্বোচ্চ মানের।


1

// পুরোপুরি কাজ করে যদি আপনি কেবল সমস্ত ক্যাপগুলিতে একটি নির্দিষ্ট শব্দ প্রতিস্থাপন করার চেষ্টা করছেন তবে এর বাকী অংশটি অদৃশ্য রেখে দেওয়া। আপনি যদি সবকিছুকে বড় হাতের কাছে রূপান্তর করার চেষ্টা করছেন, আপনি ভেরিয়েবলটিতে ": u" ব্যবহার করতে পারেন

SOME_ENV_VALUE='thethethe'
echo $SOME_ENV_VALUE:u // outputs: THETHETHE

আপনি zsh সম্প্রসারণ এবং প্রতিস্থাপনের ম্যানুয়ালটিতে কোন সংশোধনকারী উপলব্ধ তা যাচাই করতে পারেন

man zshexpn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.