如何在 GNU 并行中插入睡眠?
How to insert sleep in GNU parallel?
我正在尝试执行下面的命令。我在 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 \
我假设您想在开始新工作之前等待 2 秒:
doit() {
sample=""
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
我正在尝试执行下面的命令。我在 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 \
我假设您想在开始新工作之前等待 2 秒:
doit() {
sample=""
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