get value between <abc and > by perl, awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting get value between <abc and > by perl, awk
# 1  
Old 08-16-2010
get value between <abc and > by perl, awk

Hi Everyone,

Code:
cat 1.txt
a <abc
b vfff
c 000>
d 4444

the output is:
Code:
<abcvfff000>

by using perl or awk, can get the value betwee "<abc" and ">", assume 1.txt has lots of those tags, so the output can filter out all those values.

Please advice.
Thanks
# 2  
Old 08-16-2010
Code:
awk '/<abc/,/>/ {printf $2}' 1.txt|awk 'gsub(/></,">\n<")'

# 3  
Old 08-16-2010
Quote:
Originally Posted by rdcwayx
Code:
awk '/<abc/,/>/ {printf $2}' 1.txt|awk 'gsub(/></,">\n<")'

Thanks,

If i only run " awk '/</,/>/ {printf $2}' 1.txt", i can get the result, but run "|awk 'gsub(/></,">\n<")'" cannot get.
# 4  
Old 08-16-2010
Code:
awk ' BEGIN { f=0 } { \
	if($2 ~ /<[^>]*$/) { s=substr($2, index($2, "<")); f=1 } \
	else if ($2 ~ /<.+>/) { if (f==0) { i1=index($2,"<"); i2=index($2,">"); print substr($2, i1, i2-i1+1) } else { print s substr($2,1,index($2,">")); f=0} } \
	else if (f==1 && $2 ~ />/) { print s substr($2,1,index($2, ">")); f=0 } \
	else { s=s $2 }	\
} ' inputfile

# 5  
Old 08-16-2010
Quote:
Originally Posted by jimmy_y
Thanks,

If i only run " awk '/</,/>/ {printf $2}' 1.txt", i can get the result, but run "|awk 'gsub(/></,">\n<")'" cannot get.
I guess there are several <abc > tag in your input file, with second awk, it will ouput each record by lines.

For first awk only, you get all datas in one line. if that's your request, it will be fine.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. AIX

Rootvg /abc file is full

In rootvg /abc file is full,I want to increase,but there is no free pps,how will u do it? (1 Reply)
Discussion started by: ramraj731
1 Replies

2. UNIX for Dummies Questions & Answers

egrep 'TextToFind' certainSubFolders/*.abc

Hi, I'm trying to do the following and can't figure out how to achieve it. On my computer there are a number of folders called 'program' at various levels. I would like to search for these folders (that are below my current level) and then use egrep to search for a string within files that... (6 Replies)
Discussion started by: js8765
6 Replies

3. UNIX for Dummies Questions & Answers

Replace 'abc' with 'xyz'

Hi everyone I am new to unix . i got struck up with small issue. i have text file something like this abc 'xyz' '5' pqr 'lmn' '6' i want to replace abc 'xyz' '5' with abc 'tyr' '9' but i know the key 'xyz' based on the key 'xyz' i want to replace please help me . its... (3 Replies)
Discussion started by: Vijayaragavan
3 Replies

4. Shell Programming and Scripting

Increment ABC-123 by 1!!

in a shell script, i hav a variable declared as "ABC-123". i want to incriment th value ABC-123 by 1 so that the result will be ABC-124. Can anyone suggest a solution in shell scripting.. (4 Replies)
Discussion started by: pgmfourms
4 Replies

5. Shell Programming and Scripting

What is difference between ./abc.sh and . abc.sh

Hi Friends I have one shell script abc.sh If I run it ./abc.sh and . abc.sh , then what is the difference.. Thanks Joy:confused: (1 Reply)
Discussion started by: itsjoy2u
1 Replies

6. Shell Programming and Scripting

Perl:string substitution Pattern: ='abc...',

Hi friends, I want to substitute "a ='....'," with ":" in everywhere in a string using Perl. Details: ---------- my $str= " c1='fgfasfgasggfgff.,akhkhahha', c2='bbbn', c3='hg5 sh' "; Required o/p: $str= " c1:c2:c3 " I tried as below: $str=~ s/=\'.*\',/:/g ; print "str=... (14 Replies)
Discussion started by: Niroj
14 Replies

7. Shell Programming and Scripting

String start with ABC

Hi, How to find out the words starting with ABC in a file (K shell) I dont want the word having ABC in middle of any string. Thanks Subrat (1 Reply)
Discussion started by: subrat
1 Replies

8. Shell Programming and Scripting

how to make ABC into "ABC" ina file

suppose u have a file ABC CDF ADF FDG HAA AHH AHA so output shud be like "ABC" "CDF" "ADF" FDG " "HAA" "AHH" "AHA" (8 Replies)
Discussion started by: cdfd123
8 Replies
Login or Register to Ask a Question