NEED HELP (AWK or anything that would work)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting NEED HELP (AWK or anything that would work)
# 8  
Old 02-29-2008
Quote:
Originally Posted by ghostdog74
Code:
awk 'BEGIN{RS="</abc>"}
/abc/{
 printf "%s%s" , $0 , "</abc>" > ++c".txt"
}' file

Hey your almost there Smilie ....it is cuttin <abc> </abc> but its totall ignoring the tags inside it ie <error> in this case...is there a work around....

also can u please explain in short wat ur doing over here....i mean i understood 'awk 'BEGIN{RS="</abc>"} /abc/' and ++c".txt".... dint understand the printf part....Smilie


Thanks in advance
# 9  
Old 02-29-2008
Quote:
Originally Posted by Franklin52
Another way:

Code:
awk '/<abc.*/{f=1;n++} 
/<\/abc>/{f=0;print $0 > n}
f{print $0 > n}' file

Use nawk or /usr/xpg4/bin/awk on Solaris.

Regards
Smilie WE HAVE A WINNER!!!! Smilie

Thanks Franklin, really appretiate it.
Also thanks to ghostdog74.

You guys rock....GOD bless.

PS: can u direct me to some documents that would help me understand awk and sed....???

Also @Franklin, can you explain in short wat u just did...
# 10  
Old 02-29-2008
i don't understand what you mean.
please try Franklin's code instead.
# 11  
Old 02-29-2008
Quote:
Originally Posted by qzv2jm
Smilie WE HAVE A WINNER!!!! Smilie

Thanks Franklin, really appretiate it.
Also thanks to ghostdog74.

You guys rock....GOD bless.

PS: can u direct me to some documents that would help me understand awk and sed....???

Also @Franklin, can you explain in short wat u just did...
Sure.

Code:
awk '/<abc.*/{f=1;n++} 
/<\/abc>/{f=0;print $0 > n}
f{print $0 > n}' file

/<abc.*/{f=1;n++} -> If the line contains the expression, set the flag f and change the name of the file (n)

/<\/abc>/{f=0;print $0 > n} -> If the line contains the expression, unset the flag f and print the last line to file n

f{print $0 > n} -> Print the line if the flag is set to the file n


This is a good document to start with (buy it!):

sed & awk

Regards
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

This awk should work, shouldn't it?

Heyas Trying to parse a tempfile, but somehow i mess up. To my understand, this should work... Plain: tail -n1 out.tmp 1 81.5M 1 1066k 0 0 359k 0 0:03:52 0:00:02 0:03:50 359k I want to get the 81.5M, so i'd assume it'll be $2 for awk.... tail -n1 out.tmp | awk... (24 Replies)
Discussion started by: sea
24 Replies

2. Shell Programming and Scripting

Why my awk doesn't work?

root@SDP_Wildcat_Pass-3-C1:~# cat /proc/driver/rtc rtc_time : 05:29:40 rtc_date : 2014-12-19 alrm_time : 01:51:53 alrm_date : 2014-12-20 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ... (4 Replies)
Discussion started by: yanglei_fage
4 Replies

3. UNIX for Dummies Questions & Answers

Why does this awk statement work?

So, I have an awk statement that does a little filtering and formats the output conveniently. Here's what I had originally: <input> | awk -F "\t" 'BEGIN{OFS=","} {sub(" ","_",$2)} (NR == 1) || (substr($2,9,2) >= 19 && substr($2,1,7) == "2011-02") {print}' That did what I wanted, except that... (2 Replies)
Discussion started by: treesloth
2 Replies

4. HP-UX

awk don't work in hp-ux 11.11

Hello all! I have problem in hp-ux 11.11 in awk I want to grep sar -d 2 1 only 3 column, but have error in awk in hp-ux 11.11 Example: #echo 123 234 | awk '{print $2}' 123 234 The situattions in commands bdf | awk {print $5}' some... In hp-ux 11.31 - OK! How resolve problem (15 Replies)
Discussion started by: ostapv
15 Replies

5. Shell Programming and Scripting

Parse file using awk and work in awk output

hi guys, i want to parse a file using public function, the file contain raw data in the below format i want to get the output like this to load it to Oracle DB MARWA1,BSS:26,1,3,0,0,0,0,0.00,22,22,22.00 MARWA2,BSS:26,1,3,0,0,0,0,0.00,22,22,22.00 this the file raw format: Number of... (6 Replies)
Discussion started by: dagigg
6 Replies

6. Shell Programming and Scripting

awk: assign variable with -v didn't work in awk filter

I want to filter 2nd column = 2 using awk $ cat t 1 2 2 4 $ VAR=2 #variable worked in print $ cat t | awk -v ID=$VAR ' { print ID}' 2 2 # but variable didn't work in awk filter $ cat t | awk -v ID=$VAR '$2~/ID/ { print $0}' (2 Replies)
Discussion started by: honglus
2 Replies

7. Shell Programming and Scripting

Awk: Can anyone tell me why this doesn't work?

If there exists a field in stdin, print it, otherwise, print hello..... These print nothing: cat /dev/null | awk '{if ( length > 0 ) print $1; else print "hello"}' cat /dev/null | awk '{if ( $1 ) print $1; else print "hello"}'But the scripts work if I run them directly in a terminal: ... (8 Replies)
Discussion started by: ksheller
8 Replies

8. Shell Programming and Scripting

awk -v -- Why doesn't my example work?

Hi. I've been playing around a bit. This isn't for any practical purpose-- it's really just a theoretical exercise. I wrote this little thing: foreach num ( 6 5 4 ) awk -v "number=$num" 'BEGIN{for(x=0;x<$number;x++) printf "-"; printf "\n"}' end I would expect the following output: ... (3 Replies)
Discussion started by: treesloth
3 Replies

9. Shell Programming and Scripting

why awk does not work here?

I am trying to find any line with the 9th column's number greater than 200, but why the following awk command does not work? awk '$9 > 200' /tmp/test 2007-09-05 10:13:05.714 640.847 any 1.2.3.4 719 2445 487260 32 6082 199 2007-09-05 10:13:02.686 641.827... (2 Replies)
Discussion started by: fedora
2 Replies

10. UNIX for Dummies Questions & Answers

awk may work!

:) have you tried awk... and pipe the actual start and end dates in the directory you're looking for when i go through my directories and look for certain matching files thats what i do except I am not quite sure what you are asking for so I can't give an exact example awk -f script file |... (0 Replies)
Discussion started by: moxxx68
0 Replies
Login or Register to Ask a Question