すべての適性ユーザータグまたはパッケージのユーザータグを一覧表示するには?

すべての適性ユーザータグまたはパッケージのユーザータグを一覧表示するには?

私に従ってください自分の弁護士user-tagsプロジェクトの作業中にこのタグを使い始めましたが、これらのタグのいくつかを呼び出す方法を覚えておらず、使いやすさが低下します。この名前を検索する方法はありますか?

答え1

aptitudeこのオプションを追加してパッケージをインストールした場合は、次のコマンドを--add-user-tag <tag>実行してパッケージのユーザータグを一覧表示できます。

aptitude show <package_name>

出力の最後の行にはユーザーラベルが表示されます。

以下を使用してインストールされているすべてのパッケージを検索できます。

aptitude show '~i' | grep "User Tags"

答え2

次のコマンドを使用すると、パイプやgrepは不要です。

aptitude search '?user-tag()' -F '%p %T'

これは、ユーザータグを持つすべてのパッケージを見つけ、パッケージ名とユーザータグの出力形式を指定する-Fために使用されます。%p %T

ユーザータグ付きのインストール済みパッケージのみを一覧表示するなど、結果をさらに制限するために検索クエリに何かを追加できます。

aptitude search '~i?user-tag()' -F '%p %T'

答え3

次のコマンドラインはユーザータグ各行:

aptitude show '~T' | sed -n '/^User Tags: /{s/^User Tags: //;s/, /\n/g;p}' | sort -u

これは、パッケージデータベース()内のすべてのパッケージに関する情報を~Tsedにパイプすることによって、次のことを行います。

  • -n印刷しないパターン空間(この行)は各コマンドループの後に自動的に実行され、デフォルト/User Tags/pgrepを模倣します。
  • /^User Tags: /{}以下に一致する行でのみ group() コマンドを実行します。正規表現
  • s/^User Tags: //行の先頭の「ユーザータグ:」を空の文字列に置き換えます。
  • s/, /\n/複数を区切るには、カンマ + スペースを変更します。ユーザータグ改行文字を含む
  • p結果の印刷パターン空間

sedの出力(ユーザータグ各パッケージに対して1行に1つずつ)、その後、パイプを介してsort -u同じタグへの複数の言及を削除します。

関連情報