Pipe無法管道 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
似乎該命令將輸出發送到 STDERR 而不是 STDIN。而且因為終端顯示了它們,所以你可以通過這種方式得到東西。要將 STDERR 發送到 STDIN 並能夠過濾命令輸出,您可以使用以下方式:
module list 2>&1 | grep conda