web-dev-qa-db-ja.com

適切な正規表現は?で始まります

aproposを使用して、systemで始まるすべてのマニュアルページを検索しようとしています。

私は試してみます:

apropos ^system
apropos "^system"

しかし、これらはsystemで始まらないが、systemが行のどこかで発生する行を返すようです。

何か案は?

編集

以下のコメントによると、上記は実際に機能しますが、いくつかの構成要素と一致します。
-cmd名
-cmdの説明-cmdoneliner。

したがって、システムを検索すると、次のような行が表示されます。

tapset::task_time (3stap) - systemtap task_time tapset

説明はシステムで始まるので、これは理にかなっています。

「システム」で始まる行だけを実際に取得する1つの方法は、次のとおりです。

apropos "" | grep "^system"
1
Leo Ufimtsev

ランニング apropos '^system'は私のために機能し、ページ名自体がsystemで始まるか、1行の説明がsystemで始まるmanページのリストを返します。

たとえば、Debian(jessie)の出力には次のものが含まれます。

system-config-printer (1) - configure a CUPS server
sigset (3) - System V signal API

aproprosにページ名のみを検索するように指示するクリーンな方法はわかりませんまたは 1行の説明にありますが、常にgrepがあります。

apropos system | grep -- '^system'    # page names
apropos system | grep -- '- system'    # descriptions

これらのいずれかは、次のようなシェル関数にカプセル化できます。

apro() { apropos "$1" | grep -- "^$1"; }
4
roaima

aproposコマンドは、名前と説明の両方を検索します。ただし、結果はフィルタリングできます。

apropos system | grep "^system"
2
Christopher