awk command to avoid loops


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk command to avoid loops
# 1  
Old 10-12-2009
awk command to avoid loops

Hi...
I need a help in using the awk command or any other solution to avoid the usage of loops.

My question is :

I have a input like this :
Code:
 
field1|field2|field3|field4|field5|field6|field7|field8|field9
ex : 4000|testing|scenario|14450|500|320|450|200|100

where the 4th field i.e 14450 is a date field which will be passed to a converter which will automatically convert to the normal date format.

(eg : date_conv(14450) will give output 12/10/2009. )

Now i am looking for a solution which will get the output in the following manner.

o/p format :
Code:
 
4000|testing|scenario|12/10/2009|500|V(hexadecimal value of field6 ) - hexadecimal value of field7) - (field8*10) - field9

Note '-' represents hyphen.

So in my output there will be only 6 fields like :
Code:
 
4000|testing|scenario|12/10/2009|500|field6

where field 6 = v(hexadecimal value of field6 ) - hexadecimal value of field7) - (field8*10) - field9

In My input field6=320 then the hexadecimal value will be 140
if field7=450 then the hexadecimal value will be 1C2.

So my final output will be
Code:
 
4000|testing|scenario|12/10/2009|500|V140-1C2-2000-100

Please help..

Thanks.

Last edited by zaxxon; 10-12-2009 at 11:45 AM.. Reason: code tags!
# 2  
Old 10-12-2009
To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums
# 3  
Old 10-12-2009
Quote:
Originally Posted by vijayarajvp
Hi...
I need a help in using the awk command or any other solution to avoid the usage of loops.

My question is :

I have a input like this :
Code:
 
field1|field2|field3|field4|field5|field6|field7|field8|field9
ex : 4000|testing|scenario|14450|500|320|450|200|100

where the 4th field i.e 14450 is a date field which will be passed to a converter which will automatically convert to the normal date format.

(eg : date_conv(14450) will give output 12/10/2009. )

I wouldn't trust any date conversion code that gave that as an output. Is it October 12 or December 10?

And what relation does 14450 have to either of those?
Quote:
Now i am looking for a solution which will get the output in the following manner.

o/p format :
Code:
 
4000|testing|scenario|12/10/2009|500|V(hexadecimal value of field6 ) - hexadecimal value of field7) - (field8*10) - field9

Note '-' represents hyphen.

So in my output there will be only 6 fields like :
Code:
 
4000|testing|scenario|12/10/2009|500|field6

where field 6 = v(hexadecimal value of field6 ) - hexadecimal value of field7) - (field8*10) - field9

In My input field6=320 then the hexadecimal value will be 140
if field7=450 then the hexadecimal value will be 1C2.

So my final output will be
Code:
 
4000|testing|scenario|12/10/2009|500|V140-1C2-2000-100


For conversion to hex, use printf "%x\n"
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Avoid running unnecessary repetitive ps command

i have the following code: APIDS=$(echo $(ps -ef | awk -v gpid="${gpid}" '$2 == gpid || $3 == gpid {print $2,$3}') | sed 's~ ~|~g') AllProcs=$(ps -ef | awk -v allpids="${APIDS}" '$2 ~ allpids || $3 ~ allpids {print $0}' | sed '/^$/d') it seems the above... (6 Replies)
Discussion started by: SkySmart
6 Replies

2. UNIX for Beginners Questions & Answers

How to avoid arguments inside Nawk command?

Hi, Here is my command print $2 was meant to select the second column however, it is getting substituted with the second argument that was passed to the script. Can you please tell me how can I resolve this ? (6 Replies)
Discussion started by: mohtashims
6 Replies

3. Shell Programming and Scripting

How to avoid error with ln command?

mkdir logs mkdir: Failed to make directory "logs"; File existsTo avoid this error i use the -p argument so it creates a folder only if it is does not exists like you see below. mkdir -p logs In the similar manner i wish to avoid this error with ln command ln -s /tmp/myfolder var ln: cannot... (4 Replies)
Discussion started by: mohtashims
4 Replies

4. Shell Programming and Scripting

How to avoid column with a specific name using awk

how can avoid column names that start with Nx_*? file1 name Nx_8977 Nx_988 NN a1 2 0 8 b1 2 0 8 ouput name NN a1 8 b1 8 (5 Replies)
Discussion started by: quincyjones
5 Replies

5. Shell Programming and Scripting

AWK - Avoid exponential value

I'm using the following command, but how can I avoid printing exponential value (highlighted):- awk ' BEGIN { OFS=FS="|" } { if(NF>4) $10=int(((3.77*$11)/100 + $11)); } { print } ' infile CR|20121022|105|GSM|N|SAN|00122|SAN|75082|6.03929e+06|5819880|5794769|25111... (7 Replies)
Discussion started by: Yoda
7 Replies

6. UNIX for Dummies Questions & Answers

how to avoid time command output

Hi, I have 2 queries 1 .when I run some unix command, I am getting the output of "time" at std output (screen) for eg zegrep <pattern> *.v.gz I almost found the reason but not sure, if the no of files matching *.v.gz is more then I am getting the time command output at the... (5 Replies)
Discussion started by: selvaka
5 Replies

7. Shell Programming and Scripting

AWK: How to avoid System

How can we avoid the use of system command inside awk program? Is there any alternative way in awk programming for removing files, sorting files and to find the differences between two file without using a system command? Eg: system("rm tempfil006"); How to avoid the use of system in above... (0 Replies)
Discussion started by: sandeep_hi
0 Replies

8. UNIX for Dummies Questions & Answers

How to avoid historying my command

Dear all, Normally unix automatically record up to 500 the command lines whatever I put in. Does anyone knows how I can avoid this record, in another word, I dont want system remember what I typed in thanks (2 Replies)
Discussion started by: ting123
2 Replies

9. Shell Programming and Scripting

While loops and awk

I am trying to make a script that will replace backslashes in a file, but only if the occurance is a pathname. In the file, there are a lot of regular expressions as well, so I'm trying to preserve the integrity of those regular expressions, but convert Windows relative paths. I'm using bash and... (1 Reply)
Discussion started by: Loriel
1 Replies

10. Shell Programming and Scripting

Can I avoid the standard output from kill command

I am sending a kill comand to kill a process inside a SH script but I don`t want the user to notice it so I donīt want the message "1222 killed" to appear. I`ve tried to redirect the standard output to /dev/null 2>&1 and also tried to use "nohup" but none of them was succesfull. Can anyone... (1 Reply)
Discussion started by: pguinal
1 Replies
Login or Register to Ask a Question