Sponsored Content
Top Forums Shell Programming and Scripting Extract sequences of bytes from binary for differents blocks Post 302846731 by ahamed101 on Sunday 25th of August 2013 11:37:13 PM
Old 08-26-2013
That is because you never asked for that. Check your post #29, sub block sequences are printed based on that.

--ahamed

---------- Post updated at 08:37 PM ---------- Previous update was at 11:06 AM ----------

For removing f's. If in a single byte there is a trailing f, that will be masked.

Code:
#define DONT_PRINT1 0xff
#define DONT_PRINT2 0x0f
#define MASK 0x0f
#define INV_MASK 0xf0

void print_bytes(const unsigned char *ptr, int len, block bl)
{
        int i;
        unsigned char op;
        for(i=0;i<len;i++){
                if(MAIN_BLOCK == bl){
                        op = ptr[i] & MASK;

                        if(ptr[i] == DONT_PRINT1)
                                continue;

                        if(  ((i == (len-1)) && !(op ^ DONT_PRINT2)) 
                          || (!(op ^ DONT_PRINT2) && (ptr[i+1] && (ptr[i+1] == DONT_PRINT1))) ){

                                op = ptr[i] & INV_MASK;
                                if(op){
                                        printf("%x", op);
                                }
                                continue;
                        }
                }
                printf("%02x", ptr[i]);
        }
        printf("|");
        return;

}

void print_data(const unsigned char *ptr, int len, block bl)
{
        if(MAIN_BLOCK == bl){
                print_bytes(ptr, 1, bl);
                print_bytes(ptr+1, 3, bl);
                print_bytes(ptr+4, 8, bl);
                print_bytes(ptr+12, 8, bl);
        } else {
                print_bytes(ptr, 1, bl);
                print_bytes(ptr+1, 1, bl);
                print_bytes(ptr+2, 1, bl);
                print_bytes(ptr+3, 1, bl);
                print_bytes(ptr+4, 4, bl);
                print_bytes(ptr+8, 8, bl);
                print_bytes(ptr+16, 1, bl);
                if(*ptr == intrim_pat1[2][1]){
                        print_bytes(ptr+17, 1, bl);
                }
        }
        return;
}

--ahamed
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove first N bytes and last N bytes from a binary file on AIX.

Hi all, Does anybody know or guide me on how to remove the first N bytes and the last N bytes from a binary file? Is there any AWK or SED or any command that I can use to achieve this? Your help is greatly appreciated!! Best Regards, Naveen. (1 Reply)
Discussion started by: naveendronavall
1 Replies

2. UNIX for Advanced & Expert Users

Deal with binary sequences

Hello, I have come across the necessity for me to deal with binary sequences and I had a few questions. 1- Does any UNIX scripting language provide any tool or command for converting text data to binary sequences? Example of binary sequence: "0x97 0x93 0x85 0x40 0xd5 0xd6 0xd7" 2- If I want... (2 Replies)
Discussion started by: Indalecio
2 Replies

3. Shell Programming and Scripting

Extract sequence blocks

Hi, I have an one-line file consisting of a sequence of 660 letters. I would like to extract 9-letter blocks iteratively: ASDFGHJKLQWERTYUIOPZXCVBNM first block: ASDFGHJKL 1nd block: SDFGHJKLQ What I have so far only gives me the first block, can anyone please explain why? cat... (7 Replies)
Discussion started by: solli
7 Replies

4. Shell Programming and Scripting

extract blocks of text from a file

Hi, This is part of a large text file I need to separate out. I'd like some help to build a shell script that will extract the text between sets of dashed lines, write that to a new file using the whole or part of the first text string as the new file name, then move on to the next one and... (7 Replies)
Discussion started by: cajunfries
7 Replies

5. Linux

Why does ext3 allocate 8 blocks for files that are few bytes long

The title is clear: why does ext3 allocate 8 blocks for files that are few bytes long? If I create a file named "test", put a few chars in it, and then I run: stat test I get that "Blocks: 8" I searched in the web and found that ext does that, it allocates 8 blocks even if It doesn't need... (4 Replies)
Discussion started by: Tavo
4 Replies

6. UNIX for Dummies Questions & Answers

X bytes of 0, Y bytes of random data, Z bytes of 5, T bytes of 1. ??

Hello guys. I really hope someone will help me with this one.. So, I have to write this script who: - creates a file home/student/vmdisk of 10 mb - formats that file to ext3 - mounts that partition to /mnt/partition - creates a file /mnt/partition/data. In this file, there will... (1 Reply)
Discussion started by: razolo13
1 Replies

7. Shell Programming and Scripting

Extract sequences based on the list

Hi, I have a file with more than 28000 records and it looks like below.. >mm10_refflat_ABCD range=chr1:1234567-2345678 tgtgcacactacacatgactagtacatgactagac....so on >mm10_refflat_BCD range=chr1:3234567-4545678... tgtgcacactacacatgactagtatgtgcacactacacatgactagta . . . . . so on ... (2 Replies)
Discussion started by: Diya123
2 Replies

8. Shell Programming and Scripting

Extract length wise sequences from fastq file

I have a fastq file from small RNA sequencing with sequence lengths between 15 - 30. I wanted to filter sequence lengths between 21-25 and write to another fastq file. how can i do that? (4 Replies)
Discussion started by: empyrean
4 Replies

9. Shell Programming and Scripting

Extract the part of sequences from a file

I have a text file, input.fasta contains some protein sequences. input.fasta is shown below. >P02649 MKVLWAALLVTFLAGCQAKVEQAVETEPEPELRQQTEWQSGQRWELALGRFWDYLRWVQT LSEQVQEELLSSQVTQELRALMDETMKELKAYKSELEEQLTPVAEETRARLSKELQAAQA RLGADMEDVCGRLVQYRGEVQAMLGQSTEELRVRLASHLRKLRKRLLRDADDLQKRLAVY... (8 Replies)
Discussion started by: rahim42
8 Replies

10. Shell Programming and Scripting

Blocks of text in a file - extract when matches...

I sat down yesterday to write this script and have just realised that my methodology is broken........ In essense I have..... ----------------------------------------------------------------- (This line really is in the file) Service ID: 12345 ... (7 Replies)
Discussion started by: Bashingaway
7 Replies
SOCKET_SENDTO(3)							 1							  SOCKET_SENDTO(3)

socket_sendto - Sends a message to a socket, whether it is connected or not

SYNOPSIS
int socket_sendto (resource $socket, string $buf, int $len, int $flags, string $addr, [int $port]) DESCRIPTION
The function socket_sendto(3) sends $len bytes from $buf through the socket $socket to the $port at the address $addr. PARAMETERS
o $socket - A valid socket resource created using socket_create(3). o $buf - The sent data will be taken from buffer $buf. o $len -$len bytes from $buf will be sent. o $flags - The value of $flags can be any combination of the following flags, joined with the binary OR ( |) operator. Possible values for $flags +--------------+---------------------------------------------------+ | | | | MSG_OOB | | | | | | | Send OOB (out-of-band) data. | | | | | | | | MSG_EOR | | | | | | | Indicate a record mark. The sent data completes | | | the record. | | | | | | | | MSG_EOF | | | | | | | Close the sender side of the socket and include | | | an appropriate notification of this at the end of | | | the sent data. The sent data completes the trans- | | | action. | | | | | | | |MSG_DONTROUTE | | | | | | | Bypass routing, use direct interface. | | | | +--------------+---------------------------------------------------+ o $addr - IP address of the remote host. o $port -$port is the remote port number at which the data will be sent. RETURN VALUES
socket_sendto(3) returns the number of bytes sent to the remote host, or FALSE if an error occurred. EXAMPLES
Example #1 socket_sendto(3) Example <?php $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); $msg = "Ping !"; $len = strlen($msg); socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223); socket_close($sock); ?> SEE ALSO
socket_send(3). PHP Documentation Group SOCKET_SENDTO(3)
All times are GMT -4. The time now is 02:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy