【问题标题】:How to insert sleep in GNU parallel?如何在 GNU 并行中插入睡眠?
【发布时间】:2021-02-01 05:30:43
【问题描述】:

我正在尝试在下面执行此命令。我在100_samples_list.txt 中有一个包含 100 个样本的列表。我想将每个样本用作输入并执行命令并输出到 OUTPUT.csv。但是,在适当的过程中,我还想执行 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

我尝试在上述代码的第一行插入 sleep 2,但它不起作用 parallel -j3 sleep 2 \

【问题讨论】:

标签: linux shell parallel-processing bioinformatics gnu


【解决方案1】:

我假设您想在开始新工作之前等待 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

【讨论】:

    猜你喜欢
    • 2021-12-28
    • 1970-01-01
    • 2023-03-03
    • 2022-01-03
    • 1970-01-01
    • 2017-12-27
    • 2023-03-31
    • 1970-01-01
    • 2012-04-07
    相关资源
    最近更新 更多