Guys, I am looking for a small script which generates HEX sequence. Input to the script is starting hex number - Group ID and number of members in a group and total groups.
e.g: we are generating 2 groups with 4 Members each starting with hex number 036A. I should get o/p in following format.
Input: Starting HEX number - 036A, Number of groups - 2, Members in a Group- 4.
Output:
Group ID 036A, members;add members 036B:036D to group ID 036A
Group ID 036E, members;add members 036F:0371 to group ID 036E
echo "036A" | awk '
{
printf("Group ID %04X, members;add members %04X:%04X to group ID %04X\n", hex2dec($1) ,hex2dec($1)+1, hex2dec($1)+3, hex2dec($1))
printf("Group ID %04X, members;add members %04X:%04X to group ID %04X\n", hex2dec($1)+4 ,hex2dec($1)+5, hex2dec($1)+7, hex2dec($1)+4)
}
function hex2dec(h,i,x,v){
h=tolower(h);sub(/^0x/,"",h)
for(i=1;i<=length(h);++i){
x=index("0123456789abcdef",substr(h,i,1))
v=(16*v)+x-1
}
return v
}'
/export/home/e0007fc/work#sudo ./junk0
+ awk
{
for(i=0;i<$2;i++) {
printf("Group ID %04X, members;add members %04X:%04X to group ID %04X\n", hex2dec($1)+i*$3 ,hex2dec($1)+i*$3+1, hex2dec($1)+i*$3+3, hex2dec($1)+i*$3)
}
}
function hex2dec(h,i,x,v){
h=tolower(h);sub(/^0x/,"",h)
for(i=1;i<=length(h);++i){
x=index("0123456789abcdef",substr(h,i,1))
v=(16*v)+x-1
}
return v
}
+ echo 036A 2 4
awk: syntax error near line 7
awk: bailing out near line 7