フィルタ--helpコマンド?

フィルタ--helpコマンド?

特定のコマンドのヘルプをキーワードで検索/フィルタリングしたい場合があります。

history --help

オプションのリストが与えられると、情報の量が時々多すぎる可能性があります。たとえば、コアタスク「clear」を使用してフィルタリングできます。

history --help *clear*

時には --help からすべての情報を取得したいのですが、長すぎるため、一部の行がないため、上にスクロールできません。最初の画面を埋め、次にキー入力で2番目の画面を埋めるなど、画面ごとに機能させるにはどうすればよいですか?

ファイルリストコマンドと同じ問題です。

答え1

--helpは普遍的なコマンドではないため(呼び出したコマンドの引数であり、明示的に提供する必要があるため)普遍的な解決策はありません(実際にはシステムにオプションはありませんでしたhistory)。--help似たようなものが欲しいかもしれませんhistory --help 2>&1 | grep -E '(^|[^[:alnum:]])clear'STDERR

次の関数に置き換えることができます。

helpgrep() {
    [ "$#" -eq 2 ] || return 1
    "$1" --help 2>&1 | grep -E "(^|[^[:alnum:]])$2"
}

次に実行しますhelpgrep command search-string

2番目の質問については、パイピングを試してくださいless(または利用できないmore場合)。例: 。lesshistory --help | less

答え2

どのコマンドが含まれているかを確認するには、次のものをclear使用できますgrep

history | grep clear

出力が長い場合は、パイプ出力を使用してページごとに表示できますmore

 history | more

もちろん、これらを組み合わせることもできます。

history | grep clear | more

これはこれに限定されず、history結果をフィルタリングしたり、画面の高さを一度に確認したい他のコマンドにも適用できます。

答え3

history --help | grep clear単語(または単語の一部)を含む行を表示しますclear。これは管路ここで、最初のコマンド()の出力はhistory --help2番目のコマンド(grep clear)になります。grep一部のテキストからパターンを検索するコマンドです。)以下を実行することもできますhistory --help | lesslessテキストファイルビューアです)/lessキーを使用して検索しますclear

関連情報