Hex numbering sequence


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Hex numbering sequence
# 1  
Hex numbering sequence

Friends, 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 a group should have and total groups.

e.g: Here we are generating 2 groups with 4 Members each starting with hex 036A.
Output:
Group ID 036A, members below;
members 036B:036D;

Group ID 036E, members below;
members 036F:0371;


Help is heartily appreciated

---------- Post updated at 06:54 AM ---------- Previous update was at 06:51 AM ----------

Output in following format will also do:

Group ID 036A, members below;
member 036B
member 036C
member 036D

Group ID 036E, members below;
member 036F
member 0370
member 0371


Please help...
# 2  
Code:
echo 036A 4 2 | perl -ane '$F[0]=hex $F[0];for ($j=0;$j<$F[2];$j++){printf "%s%.4X%s","Group ID ",$F[0]++,", members below;\n";for ($i=1;$i<$F[1];$i++){printf "%.4X\n",$F[0]++}}'

This User Gave Thanks to bartus11 For This Post:
# 3  
Code:
$ echo 036A 4 2| ruby -e 'st,m,g=gets.split;m=m.to_i;g=g.to_i;1.upto(m*g){|x|h="0"+(st.hex+x-1).to_s(16);puts ((x-1)%m==0)?"Group ID #{h}, members below":"member #{h}"}'
Group ID 036a, members below
member 036b
member 036c
member 036d
Group ID 036e, members below
member 036f
member 0370
member 0371

# 4  
A posix-compliant approach:
Code:
#!/bin/sh

# Usage: scriptname start-id group-count member-count

s=0x$1 g=$2 m=$3
printf 'a=%u; for(i=0;i<%u*%u;i++) a++\n' $s $m $g | bc |
  awk -v m=$m '{ printf (NR%m==1 ? "Group ID %.4X, members below;" : "member %.4X") "\n", $1 }'



If you have jot:
Code:
#!/bin/sh

# Usage: scriptname start-id group-count member-count

s=0x$1 g=$2 m=$3
jot -w 'member %.4X' $((g*m)) $s | awk 'NR%'$m'==1 {$0="Group ID "$2", members below;"}1'



If your awk implementation supports hexadecimal literals (posix does not require this):
Code:
#!/bin/sh

# Usage: scriptname start-id group-count member-count

awk -v s=0x$1 -v g=$2 -v m=$3 '
    BEGIN {
        for (i=0; i<m*g; i++) 
            printf (i%m==0 ? "Group ID %.4X, members below;" : "member %.4X") "\n", s+i
    }'



Code:
$ ./hexgroups.sh 036A 2 4
Group ID 036A, members below;
member 036B
member 036C
member 036D
Group ID 036E, members below;
member 036F
member 0370
member 0371

Regards,
Alister

Last edited by alister; 10-02-2010 at 11:03 PM..
# 5  
Updated: seems I misunderstand. Anyway put the code here.
Code:
cat infile
Group ID 036A, members below;
members 036B:036D;

Group ID 036E, members below;
members 036F:0371;


awk -F"[:; ]" '/^members/ {for (i=strtonum("0x"$2);i<=strtonum("0x"$3);i++) printf "%s %04X\n", $1,i;next}1' infile

Group ID 036A, members below;
member 036B
member 036C
member 036D

Group ID 036E, members below;
member 036F
member 0370
member 0371


Last edited by rdcwayx; 10-03-2010 at 09:34 AM..
# 6  
Appreciate everybodys help...Thanks so much.

---------- Post updated at 12:56 PM ---------- Previous update was at 12:54 PM ----------

if anybody has suggestion which produces o/p in the following format that would be great help

Group ID 036A, members below;
members 036B:036D;

Group ID 036E, members below;
members 036F:0371

---------- Post updated at 02:12 PM ---------- Previous update was at 12:56 PM ----------

bartus11;

Your script works like a charm. can you update to give me o/p in following format. O/P seems little funny but that is how my programme works...appreciate help

Group ID 036E, members below;
members 036F:0371 to group ID 036E
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #619
Difficulty: Medium
In Python, variables may not be used by just assigning them a value. Declaration and data type definition is required in Python.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to replace with "sed" some hex values by other hex values?

Assume I have a file \usr\home\\somedir\myfile123.txt and I want to replace all occurencies of the two (concatenated) hex values x'AD' x'A0' bytwo other (concatenated) hex values x'20' x'6E' How can I achieve this with the gnu sed tool? Additional question: Is there a way to let sed show... (1 Reply)
Discussion started by: pstein
1 Replies

2. Shell Programming and Scripting

Hex number sequence help

Need some help doing this ... with awk maybe Input 0DF6 0DF7 0DF8 0DF9 0DFA 0DFB 0DFC 0DFD 0DFF 0E00 0E01 0E02 0E03 0E04 0E05 0E06 (11 Replies)
Discussion started by: greycells
11 Replies

3. Shell Programming and Scripting

Incremental numbering?

Would it be possible for a script to duplicate a file and incrementally number it? File in: XXX_007_0580_xxxx_v0016.aep File out: XXX_007_0580_xxxx_v0017.aep If someone knows of a way I'd love to see it. Thanks! (7 Replies)
Discussion started by: scribling
7 Replies

4. Shell Programming and Scripting

find common entries and match the number with long sequence and cut that sequence in output

Hi all, I have a file like this ID 3BP5L_HUMAN Reviewed; 393 AA. AC Q7L8J4; Q96FI5; Q9BQH8; Q9C0E3; DT 05-FEB-2008, integrated into UniProtKB/Swiss-Prot. DT 05-JUL-2004, sequence version 1. DT 05-SEP-2012, entry version 71. FT COILED 59 140 ... (1 Reply)
Discussion started by: manigrover
1 Replies

5. Programming

What is the difference between ios::hex and std::hex?

Hi, Is there really a difference between these two, std::hex and ios::hex?? I stumbled upon reading a line, "std::ios::hex is a bitmask (8 on gcc) and works with setf(). std::hex is the operator". Is this true? Thanks (0 Replies)
Discussion started by: royalibrahim
0 Replies

6. Programming

After converting the hexstr to Hex and storing the Hex in a char*

Hi All, My main intension of is to convert the Hexstring stored in a char* into hex and then prefixing it with "0x" and suffix it with ',' This has to be done for all the hexstring char* is NULL. Store the result prefixed with "0x" and suffixed with ',' in another char* and pass it to... (1 Reply)
Discussion started by: rvan
1 Replies

7. Shell Programming and Scripting

Reverse numbering of image sequence

Hi, I have several folders full of image sequences from an animation. The image frames are named Frame0001.png to Frame0900.png, somewhere along the way the images have been named in reverse order. Is there a script that read the contents of a folder and renumber the files Frame0001.png -... (1 Reply)
Discussion started by: BlightyDevil
1 Replies

8. UNIX for Advanced & Expert Users

numbering blanks

hello i'm trying to figure out how to number a blank line. For instance this : sed '/./=' file | sed '/./N; s/\n/ /' gives me 1 aaaa 2 bbbbbb 4 cccccc 5 ffkkkfff 6 ffsdfdfs I would like something like this: 1 aaaaa 2 3 bbbbbb 4 5 cccccc And so... (6 Replies)
Discussion started by: wisher115
6 Replies

9. Shell Programming and Scripting

Numbering

I'm trying to do a script that will look for a log file if it is already there change the name to another name. I.E if log.0 is there rename to log.1 rename log.1 to log.2 rename log.2 to log.3 and so on. Only thing is I got no idea where or what is the best command to use for this? ... (3 Replies)
Discussion started by: merlin
3 Replies

10. UNIX for Dummies Questions & Answers

Numbering!

Just a shot question... how to make 1,2,3,...999 into the form of 001,002,003....999 (3 digits) Thanks.... (9 Replies)
Discussion started by: biglemon
9 Replies

Featured Tech Videos