Sponsored Content
Top Forums Shell Programming and Scripting Extract sequences of bytes from binary for differents blocks Post 302846535 by Ophiuchus on Saturday 24th of August 2013 12:54:53 PM
Old 08-24-2013
Hello ahamed!

I'm trying to avoid printing the "f's" that are printing for the fields
in red below, but for now is secondary that issue:
Code:
void print_data(const unsigned char *ptr, int len, block bl)
{
        int i;
        if(MAIN_BLOCK == bl){
                print_bytes(ptr, 1);
                print_bytes(ptr+1, 3);
                print_bytes(ptr+4, 8);
                print_bytes(ptr+12, 8);
        } else {
                print_bytes(ptr, 1);
                print_bytes(ptr+1, 1);
                print_bytes(ptr+2, 1);
                print_bytes(ptr+3, 1);
                print_bytes(ptr+4, 4);
                print_bytes(ptr+8, 8);
                print_bytes(ptr+16, 1);
                if(*ptr == intrim_pat1[2][1]){
                        print_bytes(ptr+17, 1);
                }
        }
        return;
}

If you want, better please help me in extract the last sequences of interest to me and is at the end of the sub-block and begins with 84 0e, where 0e is the length, so is needed to extract the 84 and the next 14 bytes after 0e, separating each byte by "|". As is part of the same block, print as before in the same line.

I'm attaching and image showing in red the bytes I mention.

I've added 0x03, 0x84 at the end of the intrim_pat1, and it seems is pending add some other code.
Code:
static unsigned char intrim_pat1[][2] = { {0x03, 0x80}, {0x03, 0x81}, {0x03, 0x83}, {0x03, 0x86}, {0x03, 0x87},{0x03,0x84} };

PD: 84 0E will appear at the end of sub-block, won't appear after 0x03, but I've added in intrim_pat1 because is the way I see possible to do it for me.

Thanks in advance.
Extract sequences of bytes from binary for differents blocks-image2jpg
 

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
ATOMIC_INC(3)						   BSD Library Functions Manual 					     ATOMIC_INC(3)

NAME
atomic_inc, atomic_inc_32, atomic_inc_uint, atomic_inc_ulong, atomic_inc_ptr, atomic_inc_64, atomic_inc_32_nv, atomic_inc_uint_nv, atomic_inc_ulong_nv, atomic_inc_ptr_nv, atomic_inc_64_nv -- atomic increment operations SYNOPSIS
#include <sys/atomic.h> void atomic_inc_32(volatile uint32_t *ptr); void atomic_inc_uint(volatile unsigned int *ptr); void atomic_inc_ulong(volatile unsigned long *ptr); void atomic_inc_ptr(volatile void *ptr); void atomic_inc_64(volatile uint64_t *ptr); uint32_t atomic_inc_32_nv(volatile uint32_t *ptr); unsigned int atomic_inc_uint_nv(volatile unsigned int *ptr); unsigned long atomic_inc_ulong_nv(volatile unsigned long *ptr); void * atomic_inc_ptr_nv(volatile void *ptr); uint64_t atomic_inc_64_nv(volatile uint64_t *ptr); DESCRIPTION
The atomic_inc family of functions increment (by one) the variable referenced by ptr in an atomic fashion. The *_nv() variants of these functions return the new value. The 64-bit variants of these functions are available only on platforms that can support atomic 64-bit memory access. Applications can check for the availability of 64-bit atomic memory operations by testing if the pre-processor macro __HAVE_ATOMIC64_OPS is defined. SEE ALSO
atomic_ops(3) HISTORY
The atomic_inc functions first appeared in NetBSD 5.0. BSD
April 11, 2007 BSD
All times are GMT -4. The time now is 05:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy