উত্তর:
ব্যবহার করুন:
grep -- -X
সম্পর্কিত: খালি ডাবল ড্যাশ বলতে কী বোঝায়? ( নেটি সম্পর্কে বাদামকে ধন্যবাদ )
ARGS="-a -b -c"
grep -- "$ARGS"
grep -- "--name awesome"
,।
ড্যাশটি বাশের একটি বিশেষ চরিত্র যা http://tldp.org/LDP/abs/html/special-chars.html#DASHREF এ উল্লিখিত হয়েছে । সুতরাং একবার এড়ানোর পরে আপনি বাশকে ছাড়িয়ে যান, তবে গ্রেপ এর ড্যাশগুলির নিজস্ব বিকল্প রয়েছে (বিকল্প সরবরাহ করে)।
সুতরাং আপনার এটিকে দুটিবার পালাতে হবে (যদি আপনি অন্য উল্লিখিত উত্তরগুলি ব্যবহার না করা পছন্দ করেন)। নিম্নলিখিত ইচ্ছার / কাজ করা উচিত
grep \\-X
grep '\-X'
grep "\-X"
স্ক্রিপ্ট / প্রোগ্রামে বাশ কীভাবে আর্গুমেন্টগুলি পাস করে তা চেষ্টা করার একটি উপায় একটি .sh স্ক্রিপ্ট তৈরি করা যা সমস্ত আর্গুমেন্টকে কেবল প্রতিধ্বনিত করে। আমি সময়ে সময়ে খেলতে ইকোআরগস.এসএস নামে একটি স্ক্রিপ্ট ব্যবহার করি, এটিতে যা রয়েছে তা হ'ল:
echo $*
আমি এটি হিসাবে অনুরোধ:
bash echo-args.sh \-X
bash echo-args.sh \\-X
bash echo-args.sh "\-X"
আপনি ধারণা পেতে।
grep -e -X
কৌতুক করবে
-P
(তবে এটি অন্য গল্প এবং এটি এখানে প্রয়োগ হয় না))।
ইতিমধ্যে উল্লিখিত হিসাবে আর্গুমেন্টগুলি প্রক্রিয়াকরণ বন্ধ করতে সঠিক উপায় হ'ল "-"। এটি সরঞ্জামের উত্সে getopt_long (getopt.h থেকে GNU সি-ফাংশন) ব্যবহারের কারণে is
এই কারণেই আপনি অন্যান্য কমান্ড-লাইন সরঞ্জামগুলিতে একই ঘটনা লক্ষ্য করেন; যেহেতু তাদের বেশিরভাগই জিএনইউ সরঞ্জাম এবং এই কলটি ব্যবহার করে, তারা একই আচরণ প্রদর্শন করে।
পার্শ্ব নোট হিসাবে - getopt_long হ'ল আমাদেরকে -rlo এবং --really_long_option এবং দোভাষীর মধ্যে যুক্তির সংমিশ্রনের মধ্যে দুর্দান্ত পছন্দ দেয়।
আপনি যদি এমন কোনও ইউটিলিটি ব্যবহার করছেন যা গ্রেপকে একক যুক্তি দিয়ে যায়, আপনি ব্যবহার করতে পারেন:
'[-]X'
আপনি নাক ব্যবহার করতে পারেন
$ nawk '/-X/{print}' file
ls -l | grep "^-"
আশা করি এটি আপনার উদ্দেশ্যে কাজ করবে।
গ্রেপ "^ -X" ফাইল
এটি গ্রেপ করে ফাইলটি তৈরি করে সমস্ত লাইন বেছে নেবে। p গ্রেপ "^" এ শুরু হওয়া একটি লাইন নির্দেশ করে
-
।
--
অর্থ কী বা কী : unix.stackexchange.com/questions/11376/…