আমি সমস্ত ম্যান পেজের ভিতরে হাইফেন যুক্ত একটি প্যাটার্ন অনুসন্ধান করার জন্য একটি আদেশ সন্ধান করার চেষ্টা করছি।
আমি man manএই 3 টি অপশনটি দেখেছি এবং খুঁজে পেয়েছি:
-K,--global-aproposসমস্ত ম্যানুয়াল পৃষ্ঠায় পাঠ্যের জন্য অনুসন্ধান করুন। এটি একটি নিষ্ঠুর-শক্তি অনুসন্ধান এবং সম্ভবত কিছু সময় লাগবে; আপনি যদি এটি করতে পারেন তবে আপনাকে অনুসন্ধান করা দরকার পৃষ্ঠাগুলির সংখ্যা হ্রাস করার জন্য একটি বিভাগ নির্দিষ্ট করা উচিত। অনুসন্ধানের পদগুলি সরল স্ট্রিং (ডিফল্ট), অথবা
--regexবিকল্পটি ব্যবহার করা হলে নিয়মিত প্রকাশ হতে পারে ।
-w,--where,--path,--locationআসলে ম্যানুয়াল পৃষ্ঠাগুলি প্রদর্শন করবেন না, তবে উত্স এনআরফ ফাইলগুলির অবস্থান (গুলি) মুদ্রণ করবেন যা ফর্ম্যাট হবে।
-S list,-s list,t--sections=listতালিকাটি হ'ল একটি কোলন- বা কমা-বিচ্ছিন্ন তালিকা অনুসন্ধানের জন্য নির্দিষ্ট ম্যানুয়াল বিভাগগুলির তালিকা। এই বিকল্পটি
$MANSECTপরিবেশের পরিবর্তনশীলকে ওভাররাইড করে । (-sবানানটি সিস্টেম ভি এর সাথে সামঞ্জস্যের জন্য)
আমি সেই প্যাটার্নটি অনুসন্ধানের জন্য তাদের একত্রিত করার চেষ্টা করেছি mark-modified-linesযা এতে বর্ণিত একটি পঠন বিকল্প রয়েছে man bash:
$ man -s1 -Kw mark-modified-lines
তবে এটি কোনও পৃষ্ঠা খুঁজে পায় না:
No manual entry for mark-modified-lines
এবং কমান্ড কোড সহ প্রস্থান করে 16।
আমি ভেবেছিলাম সম্ভবত কমান্ডের বাক্য গঠনটি ভুল ছিল, তবে এটি এমনটি মনে হচ্ছে না, যেহেতু এই কমান্ডটি সঠিকভাবে আমার সিস্টেমে 5 টি পৃষ্ঠা পৃষ্ঠা খুঁজে পেয়েছে যাতে এই শব্দটি রয়েছে guitar:
$ man -s1 -Kw guitar
/usr/share/man/man1/ffmpeg-all.1.gz
/usr/share/man/man1/ffserver-all.1.gz
/usr/share/man/man1/ffplay-all.1.gz
/usr/share/man/man1/ffmpeg-filters.1.gz
/usr/share/man/man1/ffprobe-all.1.gz
আমি ভেবেছিলাম সম্ভবত শব্দটির হাইফেনগুলি একটি সমস্যা তৈরি করেছে। ইন man bash, আমি --regexনীচে বর্ণিত যা বিকল্পটি খুঁজে পেয়েছি :
--regexনিয়মিত প্রকাশ হিসাবে প্রতিটি পৃষ্ঠার যুক্তির সাথে মিল রেখে তাদের নাম বা বর্ণনার যে কোনও অংশের সাথে সমস্ত পৃষ্ঠাগুলি দেখান
apropos(1)। যেহেতু নিয়মিত অভিব্যক্তি অনুসন্ধান করার সময় কোনও "সেরা" পৃষ্ঠা বাছাই করার কোনও যুক্তিসঙ্গত উপায় নেই তাই এই বিকল্পটি বোঝায়-a।
আমি এই বিকল্পটি ব্যবহার করার চেষ্টা করেছি এবং mark-modified-linesরেগেক্সের সাথে শব্দটি প্রতিস্থাপন করার চেষ্টা করেছি mark.modified.lines, যেখানে হাইফেনগুলি মেটাচার্যাক্টারের সাথে প্রতিস্থাপন করা হয় .যা কোনও চরিত্রের সাথে মিলে যায়:
$ man -s1 -Kw --regex 'mark.modified.lines'
এটি এখনও কোনও পৃষ্ঠা মুদ্রণ করে না, যদিও আমি জানি যে পাঠ্যটি bashম্যান পৃষ্ঠাতে লেখা আছে ।
.এই কমান্ডটি থেকে রেজেক্সে মেটাচ্যারেক্টার প্রত্যাশা অনুযায়ী পার্স করা হয়েছে বলে মনে হচ্ছে:
$ man -s1 -Kw --regex 'mark.mo'
ছাপে:
/usr/share/man/man1/x11perfcomp.1.gz
/usr/share/man/man1/xditview.1.gz
এবং এই 2 টি ম্যানাপেজ ( x11perfcomp, xditview) উভয়ই রেজেক্সের সাথে মিলেছে mark.mo। আরও নির্দিষ্টভাবে, man x11perfcompএই লাইনটি অন্তর্ভুক্ত করে:
Mark Moraes wrote the original scripts to compare servers.
^^^^^^^
এবং man xditviewএই লাইন রয়েছে:
Mark Moraes (University of Toronto)
^^^^^^^
তবে man -s1 -Kw --regex 'mark.mo'বাশ ম্যান পৃষ্ঠাটি মুদ্রণ করে না:
/usr/share/man/man1/bash.1.gz
যদিও আমি এটি প্রত্যাশা করেছিলাম, যেহেতু এটিতে এই লাইনটি রয়েছে:
mark-modified-lines (Off)
^^^^^^^
ম্যান পৃষ্ঠাগুলির ভিতরে হাইফেন যুক্ত একটি প্যাটার্নটি অনুসন্ধান করা কি সম্ভব?