如何用GNU Parallel生成满足条件的命令并抑制终端打印
生成无重复数对的类GROMACS风格Parallel命令
直接将筛选逻辑嵌入parallel的参数处理规则中,即可实现只生成第二组数字大于第一组的数对,同时保留你需要的命令格式,不会额外打印数对:
parallel {= 'if($arg[1] >= $arg[2]) { skip() }' =} "echo -ne 'lipsumlipsum {1} lipsumlipsum {2} ' | lipsumlipsumlipsum" ::: {37..43} ::: {37..43}
关键说明:
- 筛选逻辑
{= 'if($arg[1] >= $arg[2]) { skip() }' =}作为parallel的前置规则,会先对每一组{1}和{2}进行检查,跳过所有{1} >= {2}的数对,只保留{2} > {1}的有效组合。 - 后续的命令段完全遵循你需要的类GROMACS输入形式,所有
echo的内容都会直接通过管道传递给lipsumlipsumlipsum,不会在终端额外打印数对。
内容的提问来源于stack exchange,提问作者koshurwole
相关产品推荐
相关产品推荐

