The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Help me for AWK URGENT readycpbala Shell Programming and Scripting 2 02-22-2007 10:03 AM
URGENT,URGENT- Need help tape drive installation sriny UNIX for Advanced & Expert Users 3 11-16-2006 12:43 PM
URGENT---URGENT--No OK PROMPt after RSC CONFIG sriny SUN Solaris 7 10-29-2006 08:06 AM
Urgent !! desiondarun UNIX for Dummies Questions & Answers 1 08-08-2006 05:49 AM
urgent 2 hamoudzz UNIX for Dummies Questions & Answers 1 03-03-2004 06:09 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1  
Old 10-24-2007
Registered User
 

Join Date: Sep 2007
Posts: 55
Unhappy Need Help Urgent

Hi Guys,
Need one quick help.
I have one file test.sh
#cat test.sh
<Abc>200712241314</Abc>

I need the output value in between <Abc> </Abc> mean to say "200712241314"

I am using cut command for that. But my problem is that test.sh file not same format. Some time it will have some whitespace from start.

Could you help me.

I want the ouput value in between <Abc> </Abc> in anywhere that file.

It is Urgent !!
Thanks
Sanjay
Reply With Quote
Forum Sponsor
  #2  
Old 10-24-2007
Bughunter Extraordinaire
 

Join Date: May 2005
Location: In the leftmost byte of /dev/kmem
Posts: 1,235
man sed - urgently!!

I guess that you do not have multiple <Abc>..</Abc>-combinations on one line so that following line would be impossible:

Code:
 blabla  <Abc> value1 </Abc> blabla <Abc>    value2   </Abc> blabla
If this *is* the case you should start reading the sed-manpage even more urgently, as it is going to be a little more elaborate than the simple case replace "<spc>" "<tab>" by literal blanks and tabs:

Code:
sed 's/^.*<Abc> *\([^<spc><tab>][^<spc><tab>]*\) *<\/Abc>.*$/\1/' test.sh
This removes the whitespace too.

bakunin
Reply With Quote
  #3  
Old 10-25-2007
Yogesh Sawant's Avatar
Part Time Moderator and Full Time Dad
 

Join Date: Sep 2006
Location: Rossem, Tazenda
Posts: 790
using Perl:
Code:
#!/usr/bin/perl
# extract_num.pl
while (<>) {
    print $1 if (m#^\s*<Abc>(\d+)</Abc>#);
}
Then run this script as:
Code:
perl extract_num.pl test.sh
Reply With Quote
  #4  
Old 10-25-2007
Registered User
 

Join Date: Sep 2006
Posts: 55
Quote:
Originally Posted by bakunin View Post
man sed - urgently!!

I guess that you do not have multiple <Abc>..</Abc>-combinations on one line so that following line would be impossible:

Code:
 blabla  <Abc> value1 </Abc> blabla <Abc>    value2   </Abc> blabla
If this *is* the case you should start reading the sed-manpage even more urgently, as it is going to be a little more elaborate than the simple case replace "<spc>" "<tab>" by literal blanks and tabs:

Code:
sed 's/^.*<Abc> *\([^<spc><tab>][^<spc><tab>]*\) *<\/Abc>.*$/\1/' test.sh
This removes the whitespace too.

bakunin
Can you explain how this part works.......
([^<spc><tab>][^<spc><tab>]*\) & ".*$/\1" .

Thanks
Bishweshwar
Reply With Quote
  #5  
Old 10-28-2007
Registered User
 

Join Date: Jun 2007
Posts: 80
Try This Out!!!!!!!!!!!!!!!!!!!!!!!!!


sed 's/\(<Abc>\)\(.*\)\(<\/Abc>\)/\2/' filename

Regards,
Anand
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 05:08 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0