10-11-2011
how to get data from hex file using SED or AWK based on pattern sign
I have a binary (hex) file I need to parse to get some data which are encoded this way:
.* b4 . . . 01 12 .* af .* 83 L1 x1 x2 xL 84 L2 y1 y2 yL
By another words there is a stream of hexadecimal bytes (in my example separated by space for better readability). I need to get value stored in x1-xL bytes (where L1 is number of 'x' data bytes) and value stored in y1-yL (where L2 is number of 'y' data bytes).
Desired data can be identified by this sequence of bytes:
.* b4 . . . 01 12 .* af .* 83
where '.*' means any number of data, '. . .' means 3 bytes, 'B4, 01, 12, af, 83' is unique ordered sequence which identifies 83 L1 x1 - xL 84 L2 y1 - yL data container (the 'y' bytes identificator '84' must follow immediately after x1-xL data).
Yeh! ... somehow complicated to explain, but I hope clear enough. Can anybody help with the script output of which will be 'X' and 'Y' value from the file.
Note: there may be multiple occurence required data in the file with the different values of 'X' and 'Y', but each one occurence of 'X' and 'Y' is preceeded by string identificator .* b4 . . . 01 12 .* af .* 83 as stated above
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
Can someone please help me write a script for the following requirement in awk, grep, sed or perl.
Buuuu xxx bbb
Kmmmm rrr ssss uuuu
Kwwww zzzz ccc
Roooowwww eeee
Bxxxx jjjj dddd
Kuuuu eeeee nnnn
Rpppp cccc vvvv cccc
Rhhhhhhyyyy tttt
Lhhhh rrrrrssssss
Bffff mmmm iiiii
Ktttt... (5 Replies)
Discussion started by: kumarn
5 Replies
2. Shell Programming and Scripting
HI I HAVE A PROBLEM,MY SOURCE FILE IS OF PATTERN
S1,E-Certified,29,29,2.7,Certified,4,3,2.7,,0,0,0
S2,Certified,4,3,2.7,,0,0,0,,0
S3,E-Certified,29,29,2.7,,0,0,0
S4,,0,0,0,,0,0,0,,0,0,0,,0,0,0
AND THE EXPECTED OUTPUT IS
S1,E-Certified,29,29,2.7
S1,Certified,4,3,2.7... (1 Reply)
Discussion started by: pkumar3
1 Replies
3. Shell Programming and Scripting
My input:
File_1:
2000_t
g1110.b1
abb.1
2001_t
g1111.b1
abb.2
abb.2
g1112.b1
abb.3
2002_t
.
.
File_2:
2000_t Ali england 135
abb.1 Zoe british 150
2001_t Ali england 305
g1111.b1 Lucy russia 126 (6 Replies)
Discussion started by: patrick87
6 Replies
4. Shell Programming and Scripting
Hello All,
I am here again scratching my head on pattern selection with special characters.
I have a large file having around 200 entries and i have to select a single line based on a pattern.
I am able to do that:
Code:
cat mytest.txt | awk -F: '/myregex/ { print $2}'
... (6 Replies)
Discussion started by: usha rao
6 Replies
5. Shell Programming and Scripting
Hi,
I would like to delete lines in /etc/hosts on few workstations, basically I want to delete all the lines for a list of machines like this :
for HOST in $(cat stations.lst |uniq)
do
# echo -n "$HOST"
if ping -c 1 $HOST > /dev/null 2>&1
then
HOSTNAME_val=`rsh $HOST "sed... (3 Replies)
Discussion started by: albator1932
3 Replies
6. UNIX for Dummies Questions & Answers
Hello,
:wall:
I have a 12 column csv file. I wish to delete the entire line if column 7 = hello and column 12 = goodbye. I have tried everything that I can find in all of my ref books.
I know this does not work
/^*,*,*,*,*,*,"hello",*,*,*,*,"goodbye"/d
Any ideas?
Thanks
Please... (2 Replies)
Discussion started by: Chris Eagleson
2 Replies
7. Shell Programming and Scripting
I have an input file which is similar to what I have shown below.
Pattern : Data followed by two blank lines followed by data again followed by two blank lines followed by data again etc..
The first three lines after every blank line combination(2 blank lines between data) should be... (2 Replies)
Discussion started by: bikerboy
2 Replies
8. Shell Programming and Scripting
Using the file below, which will always have the first indicated by the digit after the -
and last id in it, indicated by the digit after the -, I am trying to use awk
to print the missing line or lines in file following the pattern of the previous line.
For example, in the file below the next... (4 Replies)
Discussion started by: cmccabe
4 Replies
9. Shell Programming and Scripting
In the awk, thanks you @RavinderSingh13, for the help in below, hopefully it is close as I am trying to update the value in $12 of the tab-delimeted file2 with the matching value in $1 of the space delimeted file1. I have added comments for each line as well. Thank you :).
awk
awk '$12 ==... (10 Replies)
Discussion started by: cmccabe
10 Replies
10. Shell Programming and Scripting
Hi All,
I want to create a new file based on certain conditions and copy only those conditioned data to new file.
Input Data is as it looks below.
ORDER|Header|Add|32|32|1616
ORDER|Details1.........
ORDER|Details2.........
ORDER|Details3.........
ORDER|Details4............ (10 Replies)
Discussion started by: grvk101
10 Replies
LEARN ABOUT REDHAT
encoding
encoding(n) Tcl Built-In Commands encoding(n)
__________________________________________________________________________________________________________________________________________________
NAME
encoding - Manipulate encodings
SYNOPSIS
encoding option ?arg arg ...?
_________________________________________________________________
INTRODUCTION
Strings in Tcl are encoded using 16-bit Unicode characters. Different operating system interfaces or applications may generate strings in
other encodings such as Shift-JIS. The encoding command helps to bridge the gap between Unicode and these other formats.
DESCRIPTION
Performs one of several encoding related operations, depending on option. The legal options are:
encoding convertfrom ?encoding? data
Convert data to Unicode from the specified encoding. The characters in data are treated as binary data where the lower 8-bits of
each character is taken as a single byte. The resulting sequence of bytes is treated as a string in the specified encoding. If
encoding is not specified, the current system encoding is used.
encoding convertto ?encoding? string
Convert string from Unicode to the specified encoding. The result is a sequence of bytes that represents the converted string.
Each byte is stored in the lower 8-bits of a Unicode character. If encoding is not specified, the current system encoding is used.
encoding names
Returns a list containing the names of all of the encodings that are currently available.
encoding system ?encoding?
Set the system encoding to encoding. If encoding is omitted then the command returns the current system encoding. The system encod-
ing is used whenever Tcl passes strings to system calls.
EXAMPLE
It is common practice to write script files using a text editor that produces output in the euc-jp encoding, which represents the ASCII
characters as singe bytes and Japanese characters as two bytes. This makes it easy to embed literal strings that correspond to non-ASCII
characters by simply typing the strings in place in the script. However, because the source command always reads files using the ISO8859-1
encoding, Tcl will treat each byte in the file as a separate character that maps to the 00 page in Unicode. The resulting Tcl strings will
not contain the expected Japanese characters. Instead, they will contain a sequence of Latin-1 characters that correspond to the bytes of
the original string. The encoding command can be used to convert this string to the expected Japanese Unicode characters. For example,
set s [encoding convertfrom euc-jp "xA4xCF"]
would return the Unicode string "u306F", which is the Hiragana letter HA.
SEE ALSO
Tcl_GetEncoding(3)
KEYWORDS
encoding
Tcl 8.1 encoding(n)