Sponsored Content
Top Forums Shell Programming and Scripting Help search and replace hex values only in specific files Post 302531429 by mirni on Thursday 16th of June 2011 06:11:10 PM
Old 06-16-2011
Glad it worked.
c109 is always alphanumeric, because its a hex code of the character (the whole file 'hexfile' that awk filters is made of hex codes).

So you wanna get char109 from original file and test for alnum:
Code:
while read file ; do 
    c109=`awk 'NR==1{print substr($0,109,1)}' $file` #get char 109 from the first line of current file
    if [[ "$c109" = [^[:alnum:]] ]] ; then #only go on if c109 is not alnum
       od -t x1 $file > hexfile        
       awk 'NR==7{print $11 " " $12 " " $13; exit}' hexfile | 
       while read c106 c107 c108; do 
          if [ $c107 = 47 ] && [ $c108 = 53 ] ; then
             sed -i "s/$c106/0a/g" hexfile 
          fi     
       done #end while     
       awk '{$1=""; gsub(/ /,"")}1' hexfile | perl -ne '$l=length($_)-1; print pack(H.$l,$_);' > ${file}.replaced 
    fi  #end c109 condition
done < filelist


This will only work correctly if the original file has no newline characters before 109; since the awk command that grabs c109 operates only on the first line (NR==1).
This User Gave Thanks to mirni For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

highly specific search and replace for a large number of files

hey guys, I have a directory with about 600 files. I need to find a specific word inside a command and replace only that instance of the word in many files. For example, lets say I have a command called 'foo' in many files. One of the input arguments of the 'foo' call is 'bar'. The word 'bar'... (5 Replies)
Discussion started by: ksubrama
5 Replies

2. Programming

searching files for hex or oct values

I have a set of files without extensions. How can I programatically tell if a file is in gzip format? The gzip file format spec RFC 1952 GZIP File Format Specification version 4.3 states that gzip files have certain hex/oct values at the beginning of the file. 1st byte = 0x1f in hex,... (2 Replies)
Discussion started by: daflore
2 Replies

3. Shell Programming and Scripting

Search for multiple string and replace with respective values

Hi, Can anyone help me to search for multiple strings within specified position and replace with respective string value. For example I need to search the string from the position 11 to 20 and if it contain ABC and then replace it by BCDEFGHIJ ... find AABZSDJIK and replace with QWE. and... (4 Replies)
Discussion started by: zooby
4 Replies

4. UNIX for Advanced & Expert Users

Search and replace a array values in perl

Hi, i want to search and replace array values by using perl perl -pi -e "s/${d$i]}/${b$j]}" *.xml i am using while loop for the same. if i excute this,it shows "Substitution replacement not terminated at -e line 1.". please tell me what's wrong this line (1 Reply)
Discussion started by: arindam guha
1 Replies

5. Shell Programming and Scripting

Query the table and return values to shell script and search result values from another files.

Hi, I need a shell script, which would search the result values from another files. 1)execute " select column1 from table_name" query on the table. 2)Based on the result, need to be grep from .wft files. could please explain about this.Below is the way i am using. #!/bin/sh... (4 Replies)
Discussion started by: Rami Reddy
4 Replies

6. Shell Programming and Scripting

awk to search for specific line and replace nth column

I need to be able to search for a string in the first column and if that string exists than replace the nth column with "-9.99". AW12000012012 2.38 1.51 3.01 1.66 0.90 0.91 1.22 0.82 0.57 1.67 2.31 3.63 0.00 AW12000012013 1.52 0.90 1.20 1.34 1.21 0.67 ... (14 Replies)
Discussion started by: ncwxpanther
14 Replies

7. 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

8. Shell Programming and Scripting

Search Replace Specific Column using RegEx

Have Pipe Delimited File: > BRYAN BAKER|4/4/2015|518 VIRGINIA AVE|TEST > JOE BAXTER|3/30/2015|2233 MockingBird RD|ROW2On 3rd column where the address is located, I want to add a space after every numeric value - basically doing a "s//&\ / ": > BRYAN BAKER|4/4/2015|5 1 8 VIRGINIA AVE|TEST > JOE... (5 Replies)
Discussion started by: svn
5 Replies

9. Shell Programming and Scripting

Search and replace specific positions of specific lines

Hi, I have a file with hundreds of lines. I want to search for particular lines starting with 4000, search and replace the 137-139 position characters; which will be '000', with '036'. Can all of this be done without opening a temp file and then moving that temp file to the original file name. ... (7 Replies)
Discussion started by: dsid
7 Replies

10. UNIX for Advanced & Expert Users

Replace hex values using sed command

File lalo.txt contains: Á I need to replace Á by A using sed command. od -x lalo.txt 0000000 c10a 0000002 sed -e 's/\xc1\x0a/A/g' lalo.txt > lalo2.txt Also tried: sed -e 's/\xc3\x81/A/g' lalo.txt > lalo2.txt Output file lalo2.txt still has Á Unix version: SunOS 5.11 ... (9 Replies)
Discussion started by: mrreds
9 Replies
AUSEARCH_ADD_INTERPRETED_ITEM(3)				  Linux Audit API				  AUSEARCH_ADD_INTERPRETED_ITEM(3)

NAME
ausearch_add_interpreted_item - build up search rule SYNOPSIS
#include <auparse.h> int ausearch_add_interpreted_item(auparse_state_t *au, const char *field, const char *op, const char *value, ausearch_rule_t how); DESCRIPTION
ausearch_add_interpreted_item adds one search condition to the current audit search expression. The search conditions can then be used to scan logs, files, or buffers for something of interest. The field value is the field name that the value will be checked for. The op vari- able describes what kind of check is to be done. Legal op values are: exists just check that a field name exists = locate the field name and check that the value associated with it is equal to the value given in this rule. != locate the field name and check that the value associated with it is NOT equal to the value given in this rule. The value parameter is compared to the interpreted field value (the value that would be returned by auparse_interpret_field(3)). The how value determines how this search condition will affect the existing search expression if one is already defined. The possible val- ues are: AUSEARCH_RULE_CLEAR Clear the current search expression, if any, and use only this search condition. AUSEARCH_RULE_OR If a search expression E is already configured, replace it by (E || this_search_condition). AUSEARCH_RULE_AND If a search expression E is already configured, replace it by (E && this_search_condition). RETURN VALUE
Returns -1 if an error occurs; otherwise, 0 for success. SEE ALSO
ausearch_add_expression(3), ausearch_add_item(3), ausearch_add_timestamp_item(3), ausearch_add_regex(3), ausearch_set_stop(3), ause- arch_clear(3), ausearch_next_event(3), ausearch-expression(5). AUTHOR
Steve Grubb Red Hat Nov 2007 AUSEARCH_ADD_INTERPRETED_ITEM(3)
All times are GMT -4. The time now is 06:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy