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

관련 정보