ms1982
Goto Top

Linux script

Hallo zusammen,

Ich bin auf der Suche nach einem passendem Lösungsansatz.

Ich habe eine Liste mit Computernamen wie HOSTNAME1, HOSTNAME2 alle Rechner haben 24 Cores.


#setup mp_host_list
PROCS_PER_NODE=24
mp_host_list="["  
for NODE in `/usr/bin/uniq $NODEFILE`; do
   mp_host_list="$mp_host_list[\"${NODE}\",${PROCS_PER_NODE} ],"  
done
export mp_host_list=`echo ${mp_host_list} | sed -e "s/,$/]/"`  
echo "Calculated mp_host_list as ${mp_host_list}"  

^
Ergebnis ist:

mp_host_list=['cn015.cm.cluster',24]

Das Ergebis sollte so ausschauen:

mp_host_list=['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1],['cn015.cm.cluster',1]

Was muss ich machen damit ['cn015.cm.cluster',1] 24 mal steht und nicht ['cn015.cm.cluster', 24] ?

Das ganze soll dynamisch bleiben und wenn man auf 2,3 viele Knoten rechnet, muss das entsprechend ergänzt werden.

Ich wäre für Lösungsansätze sehr dankbar.

Mike

Content-Key: 577085

Url: https://administrator.de/contentid/577085

Printed on: May 10, 2024 at 16:05 o'clock

Mitglied: 144260
Solution 144260 Jun 06, 2020 at 06:21:49 (UTC)
Goto Top
Zeile 5 ersetzen durch
for x in $(seq $PROCS_PER_NODE) ;do
    mp_host_list="$mp_host_list[\"${NODE}\",1],"  
done
Member: ms1982
ms1982 Jun 06, 2020 at 08:39:36 (UTC)
Goto Top
Vielen Dank!

Ich habe noch den sed Befehl angepasst, am Ende war noch ein Komma das entfernt werden musste.

mp_host_list=`echo ${mp_host_list} | sed -e "s/,$//"`