help with file processing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with file processing
# 8  
Old 03-09-2011
Quote:
Originally Posted by return_user
...
actually replaced all the second columns in my output files with '00' instead of the values from my input file.
...
Here's one way to do it with Perl -

Code:
$
$
$ # display the input file
$
$ cat input
@C010   AA
@C011   AA
@C012   FE
@C013   FF
@C014   F7
@C015   FF
$
$
$ # run the Perl one-liner to process input file
$
$ perl -lane 's/^@//; $x{$F[0]} = $F[1];
             END {
               printf("@%04X %02s\n", $_, $x{sprintf("@%X",$_)} // "00") for (0xC000..0xC020)
             }' input
@C000 00
@C001 00
@C002 00
@C003 00
@C004 00
@C005 00
@C006 00
@C007 00
@C008 00
@C009 00
@C00A 00
@C00B 00
@C00C 00
@C00D 00
@C00E 00
@C00F 00
@C010 AA
@C011 AA
@C012 FE
@C013 FF
@C014 F7
@C015 FF
@C016 00
@C017 00
@C018 00
@C019 00
@C01A 00
@C01B 00
@C01C 00
@C01D 00
@C01E 00
@C01F 00
@C020 00
$
$
$

For your case, the following range of values -

Code:
(0xC000..0xC020)

should be changed to this -

Code:
(0x0000..0xFFFF)

HTH,
tyler_durden
This User Gave Thanks to durden_tyler For This Post:
# 9  
Old 03-09-2011
Hi tyler_durden ,

Thank you so much for the help, but could you please let me know how to run this? Here's what I did:
Code:
256 SRC > perl -lane 's/^@//; $x{$F[0]} = $F[1]; END { printf("@%04X %02s\n", $_, $x{sprintf("@%X",$_)} // "00") for (0x0000..0xFFFF)}' cpu_v3_iwew.ver.org_new > good_file
Search pattern not terminated at -e line 1.
257 SRC > 
257 SRC > 
257 SRC > 
257 SRC > perl -lane 's/^@//; $x{$F[0]} = $F[1]; END { printf("@%04X %02s\n", $_, $x{sprintf("@%X",$_)} }' cpu_v3_iwew.ver.org_new > good_file  syntax error at -e line 1, near "} }"
Execution of -e aborted due to compilation errors.
258 SRC >


Could you please let me know how to make it into a perl file and use it to other input? Greatly appreciate your help.
Thank you,

---------- Post updated at 01:23 PM ---------- Previous update was at 12:52 PM ----------

Hi,
I tried this:
Code:
264 SRC > perl -lane 's/^@//; $x{$F[0]} = $F[1]; END { printf("@%05X %02s\n", $_, $x{sprintf("@%X",$_)} // "00") for (0x00000..0xFFFFF)}' input_file
Search pattern not terminated at -e line 1.
265 SRC > 
265 SRC > 
265 SRC > 
265 SRC > cat input_file 
@E0000  7E
@E0001  8F
@E0002  40
@E0003  00
@E0004  7E
@E0005  9F
@E0006  50
@E0007  00
@E0008  7E
@E0009  9F
266 SRC >

Pleas help me what is wrong?
Thank you.

---------- Post updated at 02:09 PM ---------- Previous update was at 01:23 PM ----------

Quote:
Originally Posted by yinyuemi
Please show us an example of what the output is like?
[code]
Example Input:

C010 AA
C011 AA
C012 FE
C013 FF
C014 F7
C015 FF



Example output:

00000 00
00001 00
00002 00
...
...
0C009 00
0C010 AA
0C011 AA
0C012 FE
0C013 FF
0C014 F7
0C015 FF
0C016 00
..
..
FFFFE 00
FFFFF 00

[\code]
# 10  
Old 03-09-2011
What version of Perl are you working with?

tyler_durden
# 11  
Old 03-09-2011
273 SRC > perl -ver

This is perl, v5.8.8 built for x86_64-linux-thread-multi

Copyright 1987-2006, Larry Wall
# 12  
Old 03-09-2011
try:

Code:
awk '{a["0"$1]=$2}END{for(i=1;i<=strtonum("0xFFFFF");i++) {a1=sprintf ("%X",i);a2=sprintf("%0"5-length(al)"s",a1);printf("%s\t%s\n",a2,a3=(a2 in a)?a[a2]:"00")}}' input

# 13  
Old 03-09-2011
Hi,
Thank you for the suggestion:

Quote:
Originally Posted by yinyuemi
try:

Code:
awk '{a["0"$1]=$2}END{for(i=1;i<=strtonum("0xFFFFF");i++) {a1=sprintf ("%X",i);a2=sprintf("%0"5-length(al)"s",a1);printf("%s\t%s\n",a2,a3=(a2 in a)?a[a2]:"00")}}' input

I tried this and it still doesn't seem to work, my 'known' data from input file is also all '00'.
Code:
13 SRC > 
13 SRC > cat ttt 
00000  7E
00001  8F
00002  40
00003  00
00004  7E
00005  9F
00006  50
14 SRC > awk '{a["0"$1]=$2}END{for(i=1;i<=strtonum("0xFFFFF");i++) {a1=sprintf ("%X",i);a2=sprintf("%0"5-length(al)"s",a1);printf("%s\t%s\n",a2,a3=(a2 in a)?a[a2]:"00")}}' ttt >ttt_out
15 SRC > 
15 SRC > head ttt_out 
00001	00
00002	00
00003	00
00004	00
00005	00
00006	00
00007	00
00008	00
00009	00
0000A	00
16 SRC > 
16 SRC >

Could you please let me know what I may be doing wrong?
# 14  
Old 03-09-2011
it works on my computer
Code:
cat output
.....
0C009   00
0C010   AA
0C011   AA
0C012   FE
0C013   FF
0C014   F7
0C015   FF
0C016   00
0C017   00
0C018   00
.....

Hi guy,

if the first line is the form of "00000" not "0000", which is shown in your example file before, you should change code as following:

Code:
 awk '{a[$1]=$2}END{for(i=1;i<=strtonum("0xFFFFF");i++) {a1=sprintf ("%X",i);a2=sprintf("%0"5-length(al)"s",a1);printf("%s\t%s\n",a2,a3=(a2 in a)?a[a2]:"00")}}' ttt |head
00001   8F
00002   40
00003   00
00004   7E
00005   9F
00006   50
00007   00
00008   00
00009   00
0000A   00
'

Best,

Y
This User Gave Thanks to yinyuemi For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

awk - Rename output file, after processing, same as input file

I have one input file ABC.txt and one output DEF.txt. After the ABC is processed and created output, I want to rename ABC.txt to ABC.orig and DEF to ABC.txt. Currently when I am doing this, it does not process the input file as it cannot read and write to the same file. How can I achieve this? ... (12 Replies)
Discussion started by: High-T
12 Replies

2. Programming

awk processing / Shell Script Processing to remove columns text file

Hello, I extracted a list of files in a directory with the command ls . However this is not my computer, so the ls functionality has been revamped so that it gives the filesizes in front like this : This is the output of ls command : I stored the output in a file filelist 1.1M... (5 Replies)
Discussion started by: ajayram
5 Replies

3. Shell Programming and Scripting

Recursive file processing from a path and printing output in a file

Hi All, The script below read the path and searches for the directories/subdirectories and for the files. If files are found in the sub directories then read the content of the all files and put the content in csv(comma delimted) format and the call the write to xml function to write the std... (1 Reply)
Discussion started by: Optimus81
1 Replies

4. Shell Programming and Scripting

File Processing

i am having the input file as below 123456789: xxxxx12xxxxxxxxxxxxxxxxxx a_cnt 123456789: xxxxxxxxxxxxxxxxxxxxxxx a_cnt 123456789: a_cnt xxxxaq1wsxxxxxxxxxxxx12xxxxxxxxxx 123456789: xxxxxxxxxxxxasxxxx a_cnt i need the numbers in the backets of a_cnt O/p required as below 1 2 3 4... (2 Replies)
Discussion started by: expert
2 Replies

5. Shell Programming and Scripting

How to make parallel processing rather than serial processing ??

Hello everybody, I have a little problem with one of my program. I made a plugin for collectd (a stats collector for my servers) but I have a problem to make it run in parallel. My program gathers stats from logs, so it needs to run in background waiting for any new lines added in the log... (0 Replies)
Discussion started by: Samb95
0 Replies

6. Shell Programming and Scripting

How to processing the log file within certain dates based on the file name

Hi I am working on the script parsing specific message "TEST" from multiple file. The log file name looks like: N3.2009-11-26-03-05-02.console.log.tar.gz N4.2009-11-29-00-25-03.console.log.tar.gz N6.2009-12-01-10-05-02.console.log.tar.gz I am using the following command: zgrep -a --text... (1 Reply)
Discussion started by: shyork2001
1 Replies

7. Shell Programming and Scripting

how to change the current file processing to some other random file in awk ?

Hello, say suppose i am processing an file emp.dat the field of which are deptno empno empname etc now say suppose i want to change the file to emp.lst then how can i do it? Here i what i attempted but in vain BEGIN{ system("sort emp.dat > emp.lst") FILENAME="emp.lst" } { print... (2 Replies)
Discussion started by: salman4u
2 Replies

8. Shell Programming and Scripting

Checking for a control file before processing a data file

Hi All, I am very new to Shell scripting... I got a requirement. I will have few text files(data files) in a particular directory. they will be with .txt extension. With same name, but with a different extension control files also will be there. For example, Sample_20081001.txt is the data... (4 Replies)
Discussion started by: purna.cherukuri
4 Replies

9. Shell Programming and Scripting

Have a shell script check for a file to exist before processing another file

I have a shell script that runs all the time looking for a certain type of file and then it processes the file through a series of other scripts. The script is watching a directory that has files uploaded to it via SFTP. It already checks the size of the file to make sure that it is not still... (3 Replies)
Discussion started by: heprox
3 Replies
Login or Register to Ask a Question