微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在GNU并行中插入睡眠?

如何解决如何在GNU并行中插入睡眠?

我正在尝试执行以下命令。我在df['From to'] = df['last status'] + '->' + df['status'] 中列出了100个样本。我想将每个样本用作输入并执行命令并输出到OUTPUT.csv。但是,在适当的过程中,我也想执行2秒钟的睡眠。我在这里如何使用此代码

100_samples_list.txt

我试图在上面的代码的第一行中插入sleep 2,但是它不起作用 parallel -j3 \ "IFS=$'\n';"'for hit in \ $(esearch -db sra -query {} | efetch --format runinfo | grep SRR); do \ echo "{},${hit}"; done' \ :::: "100_samples_list.txt" \ | sort -t,-k9,9rn >> OUTPUT.csv

解决方法

我假设您要等待2秒钟才能开始新工作:

doit() {
  sample="$1"
  IFS=$'\n'
  for hit in $(esearch -db sra -query "$sample" | efetch --format runinfo | grep SRR); do
    echo "$sample,${hit}";
  done
}
export -f doit
parallel --delay 2 -j3 doit :::: "100_samples_list.txt" | sort -t,-k9,9rn >> OUTPUT.csv

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。