Perl 如何在Slurm脚本中编写主机文件
目前我正在做以下工作Perl 如何在Slurm脚本中编写主机文件,perl,slurm,sbatch,Perl,Slurm,Sbatch,目前我正在做以下工作 #!/bin/bash -l #SBATCH --nodes=2 #SBATCH --ntasks-per-node=4 scontrol show hostname $SLURM_JOB_NODELIST | perl -ne 'chomb; print "$_" x4' > myhostfile 这将生成以下myhostfile compute-0 compute-0 compute-0 compute-0 compute
#!/bin/bash -l
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=4
scontrol show hostname $SLURM_JOB_NODELIST | perl -ne 'chomb; print "$_" x4' > myhostfile
这将生成以下myhostfile
compute-0
compute-0
compute-0
compute-0
compute-1
compute-1
compute-1
compute-1
我希望得到以下结果
compute-0
compute-1
compute-0
compute-1
compute-0
compute-1
compute-0
compute-1
因此,我们可以在所有指定的节点之间进行交替您可以这样做:
$ perl -e 'print +(<>) x 4'
您可以这样做:
$ perl -e 'print +(<>) x 4'
chomb
不是perl函数,您的意思是chomp
?另外,print“$”x_4
是一个语法错误,更正后语法错误。我正在使用chomb代码>也没有梳
。有chomp
删除字符串末尾的换行符,还有chop
删除字符串的最后一个字符。不过,这两个函数在这里都没有意义,因为您需要换行符。chomb
不是perl函数,您是说chomp
?另外,print“$”x_4
是一个语法错误,更正后语法错误。我正在使用chomb代码>也没有梳
。有chomp
删除字符串末尾的换行符,还有chop
删除字符串的最后一个字符。不过,这两种方法在这里都没有意义,因为你想要换行符。