SLURM 'モジュールリスト'コマンドをパイプできません。

SLURM 'モジュールリスト'コマンドをパイプできません。

SLURMクラスターを開発しており、ロードされたすべてのソフトウェアモジュールを一覧表示するコマンドがあります。特定の単語を見つけるために出力、つまりgrepを処理したいです。ただし、パイプを使用しようとすると、理解できない予期しない出力が発生します。

$ module list

Currently Loaded Modules:
  1) miniconda3-4.8.2-gcc-8.3.1-altn3cq

$ which module
module ()
{ 
    eval $($LMOD_CMD bash "$@") && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
}

$ module list | wc -l

Currently Loaded Modules:
  1) miniconda3-4.8.2-gcc-8.3.1-altn3cq



0

$ module list | grep conda

Currently Loaded Modules:
  1) miniconda3-4.8.2-gcc-8.3.1-altn3cq

 

したがって、なぜ出力をパイプできないのか疑問に思います。module list

ベストアンサー1

このコマンドは、STDINの代わりにSTDERRに出力を送信するようです。端末には両方が表示されるため、このようにしてこの情報を取得できます。 STDERR を STDIN に送信してコマンド出力をフィルタリングするには、次のようにします。

module list 2>&1 | grep conda

おすすめ記事