ধরুন আমি স্ক্রল -i
না করে স্যুইচ ইন grep
কমান্ডের ব্যবহার জানতে চাই । আমার কেবল সেই কমান্ডের জন্য স্পেসিফিকেশনটি প্রয়োজন বা কমপক্ষে স্ক্রিন শোটি আগে দেখুন। তা কিভাবে? যেমন আপনি বলতে পারেন যে সাধারণভাবে কেবল নয় grep -i
।
ধরুন আমি স্ক্রল -i
না করে স্যুইচ ইন grep
কমান্ডের ব্যবহার জানতে চাই । আমার কেবল সেই কমান্ডের জন্য স্পেসিফিকেশনটি প্রয়োজন বা কমপক্ষে স্ক্রিন শোটি আগে দেখুন। তা কিভাবে? যেমন আপনি বলতে পারেন যে সাধারণভাবে কেবল নয় grep -i
।
উত্তর:
এই সহজ sed
কমান্ড ব্যবহার করে দেখুন,
$ man grep | sed -n '/-i, --ignore-case/,+2p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
ব্যাখ্যা:
sed -n '/-i, --ignore-case/,+2p'
|<-Search pattern->|
এটি এমন রেখাটি মুদ্রণ করবে যা অনুসন্ধান প্যাটার্ন সহ 2 রেখার সাথে সন্ধান করবে যা অনুসন্ধান প্যাটার্ন লাইনের ঠিক নীচে উপস্থাপিত হবে।
অথবা
আপনি কেবল নীচের মত অনুসন্ধান প্যাটনে কেবল পতাকা দিতে পারেন।
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *i, -/,+3p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *V, -/,+3p'
-V, --version
Print the version number of grep to the standard output stream.
This version number should be included in all bug reports (see
below).
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *F, -/,+3p'
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by
newlines, any of which is to be matched. (-F is specified by
POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *G, -/,+3p'
-G, --basic-regexp
Interpret PATTERN as a basic regular expression (BRE, see
below). This is the default.
দ্রুত অ্যাক্সেসের জন্য আপনি এই স্ক্রিপ্টটি আপনার .bashrc
( $HOME/.bashrc
) এ যুক্ত করতে পারেন:
mangrep(){
USAGE="mangrep <application> <switch>"
if [[ "$#" -ne "2" ]]
then
echo "Usage: $USAGE"
else
man "$1" | sed -n "/ *"$2", -/,+3p"
fi
}
টার্মিনালে নীচের কমান্ডটি টাইপ করুন:
man grep
তারপর, স্ল্যাশ চরিত্র টাইপ /, এবং আপনার অনুসন্ধান লিখুন, মত -i
, দ্বারা অনুসরণ Enter। এটি অনুসন্ধান স্ট্রিংয়ের প্রথম সংঘটনটিতে কার্সারটি অবস্থান করবে। টিপে টিপে nকার্সারটি পরবর্তী ইভেন্টে সরানো হয়। টিপুন Shift+ nকার্সারটিকে পূর্বের উপস্থিতিতে সরিয়ে দেয়।
-i
করবে man grep
B তবে ওপি -i
ম্যান পৃষ্ঠায় পতাকা সম্পর্কিত সম্পর্কিত বর্ণনা চায় ।
-i
। ওপিও ঠিক তাই চায়।
/@ জিরাার্ডেনগো দ্বারা প্রস্তাবিত অনুসারে সর্বাধিক সহজ পদ্ধতিটি অনুসন্ধান করা সত্ত্বেও, আপনি এর চেয়ে সহজ ব্যবহার করতে পারেন তার grep
পরিবর্তে আপনিও ব্যবহার করতে পারেন sed
:
$ man grep | grep -A 1 '^ *-i'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
এর -A N
অর্থ "মিলের পরে এন লাইনগুলি প্রিন্ট করুন Av অবিনাশের sed
পদ্ধতির অনুরূপ পরবর্তী কয়েকটি লাইন পাওয়ার জন্য একটি কৌশল ।
আপনি ভিতরে অনুসন্ধান ক্রিয়াকলাপটি ভিতরে ব্যবহার করতে পারেন man
, কেবল "s"
প্রেস করুন, আপনি যে কীটি খুঁজছেন তা টাইপ করুন (-আই আপনার ক্ষেত্রে) এবং ইন্ট্রো টিপুন।
অথবা, আপনি এই সাইটটিকে আপনার জন্য অনুসন্ধান করতে দিতে পারেন:
http://explainshell.com/explain?cmd=grep+-i
আপনাকে টার্মিনালটি ব্যবহার করে কিছুক্ষণের জন্য একটি ব্রাউজারে স্যুইচ করতে হবে, তবে এর কাছাকাছি উপায় রয়েছে ।
আমি সবচেয়ে কার্যকর পদ্ধতি সম্পর্কে সচেতন যেটি হ'ল ম্যান পৃষ্ঠাটি অনুসন্ধান করা -i
(এই সাইটটি আমার কোডটি রেন্ডার করতে ব্যর্থ হয়েছে বলে মনে হচ্ছে I আমার অর্থ হ'ল <space><space><space>-i
)। আপনি যে পতাকাটি সন্ধান করছেন তার পরে এটি 3 টি স্পেস (আপনার আরও কম / কম জায়গার প্রয়োজন হতে পারে)। এটি প্রায়শই আমার অভিজ্ঞতাতে কাজ করে এবং আপনি এটির কিছু পরিবর্তন করতে পারেন যেখানে এটি কাজ করে না।
ফ্ল্যাগগুলির আসল ডকুমেন্টেশনটি সাধারণত ইন্টেন্টেড থাকে বলে এটি কাজ করে। এটি অন্যান্য বিভাগে পতাকার অন্যান্য উল্লেখগুলি খুঁজে পাওয়া এড়িয়ে যায়, কারণ তাদের আগে সাধারণত একটি জায়গা থাকে।
সমস্ত উত্তরগুলির মাধ্যমে ঠিকঠাক হতে পারে তবে আমি মনে করি আপনি কেবলমাত্র কিছু নথির নথিতে ফোকাস করছেন। উদাহরণস্বরূপ, -i
গ্রেপ ডকুমেন্টেশনের স্যুইচটি সন্ধান করতে :
info grep Invoking Command-line\ Options Matching\ Control
"গ্রেপ" সম্পর্কিত সমস্ত তথ্য, "ম্যাচিং কন্ট্রোল" -র জন্য নির্দিষ্ট "কমান্ড-লাইন বিকল্পগুলি" কীভাবে "অনুরোধ করবেন" সে সম্পর্কে আমি সমস্ত তথ্য খুঁজে পাব। দুঃখজনকভাবে এটা যে বেশী গভীরে যেতে না, কিন্তু এটা আছে -i
, -y
, --ignore-case
প্রথমগুলি 25 লাইনে, কিছু যুক্তিসঙ্গত আপনি না যে সব আপনার উপায় নিচে স্ক্রল করতে।
এই সমাধানটি আরও নমনীয় এবং আপনাকে সমস্ত ইনফোপেজ সন্ধান করতে দেয়:
info --apropos=--ignore-case
"(coreutils)join invocation" -- --ignore-case <1>
"(coreutils)uniq invocation" -- --ignore-case <2>
"(coreutils)sort invocation" -- --ignore-case
"(gettext)msggrep Invocation" -- --ignore-case, ‘msggrep’ option
"(grep)Matching Control" -- --ignore-case
( এটি খুব সাধারণ হওয়ার --ignore-case
পরিবর্তে ব্যবহার -i
করতে হয়েছিল তবে আপনি কেবল কোনও ক্ষেত্রে তথ্য আউটপুট প্রক্রিয়া করতে পারেন)
এই ক্ষেত্রে, আপনার কাছে তথ্য পৃষ্ঠার নাম এবং সঠিক বিভাগ উভয়ই রয়েছে। আহ, প্রায় ভুলে গেছেন, আপনি tabতথ্য পৃষ্ঠাগুলির বেশিরভাগ অংশের মাধ্যমেও আপনার পথ যেতে পারেন।
কোনও man
পৃষ্ঠায় প্রদত্ত বিকল্পটি সন্ধান করার জন্য আমার পছন্দসই পদ্ধতিটি হ'ল একটি রেজেক্সের মতো ব্যবহার করা \s{2,}-option
। হাতে থাকা প্রশ্নের জন্য, আপনি এটি করতে পারেন man grep
এবং তারপরে পুনরায় টাইপ করুন:
/\s{3,}-i
অথবা
/ {3,}-i
^------------- space here
এটি -i
কেবল তখনই মিলবে যখন তিন বা ততোধিক স্পেস অনুসরণ করবে ।
less
পেজর হিসাবে ডিফল্ট হিসাবে যেমন ব্যবহার করা হয় man
, আপনি পৃষ্ঠাটি খোলার LESS
সময় সন্ধানের জন্য কোনও প্যাটার্ন পাস করার জন্য পরিবেশ পরিবর্তনশীলটি ব্যবহার করতে পারেন less
। এটি উদাহরণস্বরূপ করার অনুরূপ man ls
এবং তারপরে বিকল্পটি অনুসন্ধান করে --all
বা -a
টাইপ করে /এবং পরে প্যাটার্নটি ইনপুট করে যেমন --all
বা -a
।
এগুলি দ্বারা করা যেতে পারে:
LESS='+/--all' man ls
অথবা
LESS='+/-a' man ls
আপনি যা অনুসন্ধান করতে চান তা ইনপুট করুন /
।
সম্ভবত এটি দীর্ঘ বিকল্পগুলির (উদাহরণস্বরূপ --all
) সংক্ষিপ্তগুলি (যেমন ) এর সাথে তুলনায় সবচেয়ে ভাল কাজ করে -a
।
যদি আপনি চাই প্রতি একটি প্যাটার্ন একটি হাইফেন দিয়ে শুরু এর জন্য ফলাফল, ব্যবহার
প্যাটার্ন আগে আপনি উল্লেখ করুন। ব্যবহারের উদাহরণ :grep
man <program>
--
man find
man find | grep -- -type
আপনি যদি আরও তথ্য চান, উদাহরণস্বরূপ পুরো বিভাগটি কোনও বিকল্প বর্ণনা করে, তবে চেষ্টা করে দেখুন sed
:
$ man find | sed -n '/-mindepth/,/^$/p'
-mindepth levels
Do not apply any tests or actions at levels less than levels (a
non-negative integer). -mindepth 1 means process all files
except the command line arguments.