কোনও ম্যান পৃষ্ঠাতে একটি নির্দিষ্ট শিরোনামে কীভাবে লাফ দিতে হবে?


9

উদাহরণ: ssh_config

আমি এর জন্য ভিমে একটি ফাইল টাইপ সেট করেছি। আমি সাহায্যের প্রোগ্রামটি চাই

man

অবশ্যই এটি কাজ করে না, আমি যদি একটি কথায় আছি, বলুন

ServerAliveCountMax

আমি একটি ত্রুটি পেয়েছি, যেহেতু সার্ভারআলাইভকাউন্টম্যাক্সের জন্য ম্যান পেজার নেই, এটি ssh_config এর ম্যানপেজের মধ্যে রয়েছে।

কমান্ড লাইন থেকে, কোনও স্ট্রিংয়ে লাফানো বা কোনও ধরণের কমান্ড মানুষের ভিতরে চালানোর কোনও উপায় আছে কি? অনেক তথ্য যেমন:

info screen Miscellaneous

আমাকে স্ক্রিনের তথ্য পৃষ্ঠার বিবিধ বিভাগে নিয়ে যাবে।

মানুষের সাথে কি এটা সম্ভব? এমনকি কোনও অনুসন্ধান চালানোও ...

সম্পাদনা: আমি ওএসএক্স 10.6.5 ব্যবহার করছি। ডিফল্ট লোকের সাথে (/ usr / বিন / ম্যান)

সম্পাদনা: আমি কিছুটা কথোপকথন কথা বলি;), তাই আমাকে সঠিক উত্তরের দিকে নিয়ে যাওয়া হয়েছিল:

man -P 'less -p PATTERN' ssh_config  

ওএসএক্স / * বিএসডি-তে অনুরোধ কি মনে হয়।

উত্তর:


11

জিএনইউ-র কমান্ড লাইন থেকে man:

man --pager='less -p ^ENVIRONMENT' man

বা বিএসডি এর জন্য man:

man -P 'less -p ^ENVIRONMENT' man

ম্যান পেজটির শিরোনাম "পরিবেশ" এ উঠবে man

এখানে একটি কার্যকর ফাংশন:

mans () {    # Bash
    local pages string
    if [[ -n $2 ]]
    then
        pages=(${@:2})
        string="$1"
    else
        pages=$1
    fi
    # GNU man
    man ${2:+--pager="less -p \"$string\" -G"} ${pages[@]}
    # BSD man
    # man ${2:+-P "less -p \"$string\" -G"} ${pages[@]}
}

উদাহরণ:

সাধারণত ব্যবহার করুন:

mans bash

"বর্ণনা" শিরোনামে যান:

mans ^DESCRIPTION bash

ধারাবাহিকভাবে প্রতিটি পুরুষ পৃষ্ঠার শিরোনাম "বর্ণন" এ যান (টিপুন qএবং Enterপরের পৃষ্ঠায় যান):

mans ^DESCRIPTION bash ksh zsh

"প্যারামিটার সম্প্রসারণ" উপ-শিরোনামে যান (আপনি নিয়মিত এক্সপ্রেশন ব্যবহার করে যে কোনও স্ট্রিং সন্ধান করতে পারেন):

mans '^ *Parameter Expansion' bash

আপনি কম ব্যবহার করেছেন এমন সাম্প্রতিকতম রেজেক্সের সন্ধান করুন:

mans '' bash

আপনি যে ম্যাচটি অনুসন্ধান করেছেন তা হাইলাইট হবে না। আপনি যদি এটি হতে পছন্দ করেন তবে কেবলমাত্র -Gবিকল্পগুলি থেকে অপসারণ করুন less

এই ফাংশনটি manসমর্থন করে এমন অন্যান্য আর্গুমেন্ট এবং বিকল্পগুলি পরিচালনা করার কোনও প্রচেষ্টা করে না।


প্রতিশ্রুতিবদ্ধ, আমি আমার প্রশ্নটি সম্পাদনা করেছি, আমি দেখতে পেয়েছি যে আপনি ম্যাকপোর্ট বা লিনাক্স ব্যবহার করে ক্রেপি বিএসডি শৈলীর বিকল্প তালিকায় আমার একটি -P বিকল্প আছে ... চেষ্টা করে দেখছি।
চিগসি

ধন্যবাদ, আমি পেয়েছি, তবে আবারও ধন্যবাদ! বাহ, আমি আপনার নতুন উত্তরটি আবার উপস্থাপন করতে পারি না :(
চিগসি

@ চিগসি: আমি এটিকে কাজে লাগিয়েছি -P। যদি তা হয় তবে আমি আমার উত্তরে এটি যুক্ত করব।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

রেকর্ডের জন্য, আমি আপনার মূল উত্তরটি অগ্রাহ্য করেছি। এটি সম্পূর্ণ সঠিক ছিল। আপনার সম্পাদনা, আমি upvote করতে অক্ষম ছিল। আমি চাইছিলাম ...
চিগসি

@ চিগসি: -Pভবিষ্যতের রেফারেন্সের জন্য আমার কি উত্তর দেওয়া উচিত?
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

2

PAGERBSD / GNU সামঞ্জস্যতা সমস্যা এড়াতে আপনি এই রানটির জন্য পরিবর্তনশীল ব্যবহার করতে পারেন ।

"বিভাগের শিরোনামে শূন্যস্থান উপস্থিত থাকলে উদ্ধৃতিগুলি ব্যবহার করুন :

PAGER='less -p ^"ENVIRONMENT"' man man


1

/কম ক্ষেত্রে একটি সামনের দিকে অনুসন্ধান করা ?হবে এবং বিপরীত অনুসন্ধান করবে। hএকটি সম্পূর্ণ তালিকা দেখতে টিপুন ।


উপরে আমার মন্তব্য দেখুন, এবং আসলে আমার প্রশ্ন।
চিগসি

1

ম্যান আপনি /মেলানোর জন্য একটি প্যাটার্ন অনুসরণ করে টাইপ করতে পারেন উদাহরণস্বরূপ আপনি যে স্ক্রিন ম্যান পৃষ্ঠাটি টাইপ করবেন তার ডিফল্ট কী বাইন্ডিংস বিভাগটি সন্ধান করতে

/^DEFAULT KEY BINDINGS

হ্যাঁ. এটি সত্য হয়, কিন্তু আপনি হতে হবে তা এটা করতে মানুষ। আমি শেল থেকে এক ধাপে যেতে চাই।
চিগসি

1

আমি ম্যান পেজগুলির বিভাগগুলির মধ্যে তুলনামূলকভাবে দ্রুত জাম্প করতে একটি সহজ কৌশল ব্যবহার করি: আমি আঘাত করি /^[A-Z]এবং তারপরে আমি টিপতে পারি nএবং Nএগিয়ে এবং পিছনে পিছনে যেতে পারি।

অনুসন্ধানের রেজেক্স টিপিক্যাল ম্যান পৃষ্ঠাগুলির প্রাথমিক কাঠামোটি ব্যবহার করে - মূল বিভাগগুলি মূলধনীতে লেখা হয় এবং তারা বিন্যাস ছাড়াই একটি লাইন শুরু করে যার জন্য তাদের লাইনের শুরুতে উপস্থিত হওয়া উচিত।


1

আমি --pager/ -Pসমাধানটি পছন্দ করি না , কারণ manসম্ভবত এটি ব্যবহৃত হতে পারে তবে সরাসরি ডাকা হয় না (যেমন আপনি যখন ব্যবহার করবেন git help ...)। সুতরাং এনভ্যাভার ব্যবহার করা আরও নমনীয়। তবে আমি PAGER='less ...এক ধরণের অপ্রয়োজনীয় ব্যবহার খুঁজে পাই কারণ lessসাধারণত যে কোনওভাবেই ডিফল্ট পেজার হয়। আপনি LESSসরাসরি পরামিতিগুলিতে পাস করার জন্য এনভ্যাওয়ারটি ব্যবহার করতে পারেন less। এটিতেও উদ্ধৃত বিষয়গুলি কম রয়েছে। উদাহরণস্বরূপ, এটি সঠিকভাবে ডান বিভাগে চলে যাবে, যদিও এতে একটি জায়গা রয়েছে:

LESS="-p file system" git help glossary

1
এই উত্তর দিয়ে শীর্ষে! ধন্যবাদ :)
প্যাট্রিক ওবারা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.