for i in {1..110}; do printf "myserver%05d\n" $i; done > myservers.txt
#group servers by 20 count=0 group=0 for line in $(cat myservers.txt); do printf "GROUP_%03d %s\n" $group $line ((count=$count + 1)) if [ $count -eq 20 ]; then ((group=$group + 1)) count=0 fi done >> grouped.txt
#print servers in given group
cat grouped.txt | grep GROUP_005 | awk -F' ' '{print $2}'
#put this in steps.sh
myserver=$1 step=$2 case $step in 1) echo "hello, this is step 1 for server $myserver" ;; 2) echo "ciao, this is step 2 for server $myserver" ;; 3) echo "Gruezi, this is step 3 for server $myserver" ;; *) echo "ERROR invalid step $step" esac
#execute given step for GROUP
THESTEP=3; cat grouped.txt | grep GROUP_005 | awk -vstep="$THESTEP" -F' ' '{print $2,step}' | xargs ./steps.sh
No comments:
Post a Comment