如果我知道我已运行的作业的名称,那么如何通过脚本仅返回其作业ID。
例如,运行sacct --name run.sh
返回以下输出,而我只想返回50
(jobID
)。
$ sacct --name run.sh
JobID JobName Partition Account AllocCPUS State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
50 run.sh debug alper 1 COMPLETED 0:0
50.batch batch alper 1 COMPLETED 0:0
作为一种解决方案,我可以运行:sacct --name run.sh | head -n3 | tail -n1 | awk '{print $1}'
返回50
,但是有时其他作业的50
和50.batch
的顺序也会改变。
答案 0 :(得分:1)
使用以下选项组合:
sacct -n -X --format jobid --name run.sh
其中
-n
将取消显示标题-X
将取消显示.batch
部分--format jobid
仅显示Jobid列这将仅输出jobid,但是如果有多个作业与给定的作业名称相对应,您将获得多个结果。