From 23158d8d5fa4a005b4da7191cf603393f1356101 Mon Sep 17 00:00:00 2001 From: Julian Lenz Date: Thu, 20 Feb 2025 14:32:52 +0100 Subject: [PATCH] Harden cut command in Snakefiles --- .../examples/LaserWakefield/lib/python/snakemake/Snakefile | 4 ++-- .../LaserWakefield/lib/python/snakemake/Snakefile_LSF | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile b/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile index 7df30a52bc..85527d461f 100644 --- a/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile +++ b/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile @@ -70,13 +70,13 @@ rule simulate: sbatch {input}/tbg/submit.start > simulated/job_id_{params.name}.txt fi - job_id=$(cut -c 21-27 simulated/job_id_{params.name}.txt) + job_id=$(cut -d' ' -f4 simulated/job_id_{params.name}.txt) status=$(squeue --jobs $job_id -o "%2t" | tail -n 1 ) # if job isn't running, pending or configuring -> restart job if ! [[ "$status" == "PD" || "$status" == "R " || "$status" == "CF" ]]; then sbatch {input}/tbg/submit.start > simulated/job_id_{params.name}.txt - job_id=$(cut -c 21-27 simulated/job_id_{params.name}.txt) + job_id=$(cut -d' ' -f4 simulated/job_id_{params.name}.txt) status=$(squeue --jobs $job_id -o "%2t" | tail -n 1 ) fi # wait till job is finished diff --git a/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile_LSF b/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile_LSF index f3f2e7b458..66ec47d9e3 100644 --- a/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile_LSF +++ b/share/picongpu/examples/LaserWakefield/lib/python/snakemake/Snakefile_LSF @@ -77,13 +77,13 @@ rule simulate: bsub {input}/tbg/submit.start > simulated/job_id_{params.name}.txt fi - job_id=$(cut -c 6-12 simulated/job_id_{params.name}.txt) + job_id=$(cut -d'<' -f2 simulated/job_id_{params.name}.txt | cut -d'>' -f1) status=$(bjobs -noheader -o stat:4 $job_id) # if job isn't running or pending -> restart job if ! [[ "$status" == "PEND" || "$status" == "RUN " ]]; then bsub {input}/tbg/submit.start > simulated/job_id_{params.name}.txt - job_id=$(cut -c 6-12 simulated/job_id_{params.name}.txt) + job_id=$(cut -d'<' -f2 simulated/job_id_{params.name}.txt | cut -d'>' -f1) status=$(bjobs -noheader -o stat:4 $job_id) fi # wait till job is finished