Easy Perl Question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Easy Perl Question
# 1  
Old 01-05-2010
Easy Perl Question

How can I write a perl script to always only grab everything that is after Service: and before State:
Code:
Service Transition - Service:jatthlink_jmsay_1 State:alive


Last edited by Yogesh Sawant; 01-06-2010 at 03:12 AM.. Reason: added code tags
# 2  
Old 01-05-2010
Code:
% print Service Transition - Service:jatthlink_jmsay_1 State:alive |
  perl -nle'print /Service:(.*?)State:/'                                          
jatthlink_jmsay_1

# 3  
Old 01-05-2010
Quote:
Originally Posted by radoulov
Code:
% print Service Transition - Service:jatthlink_jmsay_1 State:alive |
  perl -nle'print /Service:(.*?)State:/'                                          
jatthlink_jmsay_1


thank you for your response. why is it spitting out errors?

Code:
[mybox:529] print 'Service Transition - Service:jatthlink_jmsay_1 State:alive' | perl -nle 'print /Service:(.*?)State:/' 
Warning: unknown mime-type for "Service Transition - Service:jatthlink_jmsay_1 State:alive" -- using "application/*"
Error: no such file "Service Transition - Service:jatthlink_jmsay_1 State:alive"

# 4  
Old 01-05-2010
Quote:
Originally Posted by SkySmart
thank you for your response. why is it spitting out errors?

Code:
[mybox:529] print 'Service Transition - Service:jatthlink_jmsay_1 State:alive' | perl -nle 'print /Service:(.*?)State:/' 
Warning: unknown mime-type for "Service Transition - Service:jatthlink_jmsay_1 State:alive" -- using "application/*"
Error: no such file "Service Transition - Service:jatthlink_jmsay_1 State:alive"

Because your shell doesn't have the print builtin. Use printf (or echo) instead.

And add the g modifier:

Code:
perl -nle'print /Service:(.*?)State:/g'

Or:

Code:
perl -lne'print join $/,/Service:(.*?)State:/g'

Adjust to taste.
# 5  
Old 01-05-2010
Quote:
Originally Posted by radoulov
Because your shell doesn't have the print builtin. Use printf (or echo) instead.

And add the g modifier:

Code:
perl -nle'print /Service:(.*?)State:/g'

Or:

Code:
perl -lne'print join $/,/Service:(.*?)State:/g'

Adjust to taste.

thank you very much Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk easy question

So, I have the following code: cat testfile.txt | awk -F, '{ print $1" "$2" "$3" "$4" "$5 }' | read DOC ORG NAME echo "$DOC" echo "$ORG" echo "$NAME" My testfile.txt looks something like the following: Document Type,Project Number,Org ID,Invoice Number It will eventually be more... (14 Replies)
Discussion started by: Parrakarry
14 Replies

2. Shell Programming and Scripting

Easy if conditional question.

I'm just starting this whole scripting thing, and I'm trying to write a simple script which will ask the user to press a key between 3-7. If they press a key that's not between 3-7, it will tell the user such. Here's my script: #!/bin/bash blah=1 echo -n "Press a key from 3-7." read... (3 Replies)
Discussion started by: SlickStretch
3 Replies

3. Shell Programming and Scripting

Easy Perl regular expression question

Hey all! what matching expression might I use to match all characters included in \W, EXCEPT < and > ? for example: @tokens=split(/ ???? /,$string); I've dubiously tried \W but this clips off the first letter of each "token", for some reason ... (2 Replies)
Discussion started by: applefat
2 Replies

4. UNIX for Dummies Questions & Answers

easy question

Hi everybody: Could anybody tell me if I have several files which each one it has this pattern name: name1.dat name2.dat name3.dat name4.dat name10.dat name11.dat name30.dat If I would like create one like: name_total.dat If I do: paste name*.dat > name_total.dat (15 Replies)
Discussion started by: tonet
15 Replies

5. Shell Programming and Scripting

Hopefully an Easy Question

I have a file name in this format ABC_WIRE_TRANS_YYYYMMDD_00.DAT I need to cut out the _00 out of the file name everytime. It could be _00, _01,_02, etc .... How do I cut it out to look as follows? ABC_WIRE_TRANS_YYYYMMDD.DAT (6 Replies)
Discussion started by: lesstjm
6 Replies

6. UNIX for Dummies Questions & Answers

easy unix question

I am trying to check through all of a certain type of file in all main directories, and find the top 10 that are taking up the most space. How can I do that? I was thinking like du *.file | sort -n | head (1 Reply)
Discussion started by: wallacer
1 Replies

7. Shell Programming and Scripting

A easy question.

this is the simple question, please help me! the question is: how to send exactly 50 ICMP Echo request packets with 500 bytes of payload to 202.139.129.221? I tried to use ping -F 500 202.139.129.221, but it didn't work. Thanks! (6 Replies)
Discussion started by: kikikaka
6 Replies

8. UNIX for Dummies Questions & Answers

Another easy question

Hello Again, Ok guys. Thanks again for your help last time but I am in need of your experience again. I wrote this script: #!/bin/sh # List either files or directories in individual accounts # using 1, 2 or 3 with invalid case $1 in echo select 1 to see the FILES in your... (3 Replies)
Discussion started by: catbad
3 Replies

9. UNIX for Dummies Questions & Answers

easy question

I know the Sun Solaries versions are ( 2.3 , 2.4 , 2.5 ... 7 , 8 ) . But some times I see sun os v5.x what does it mean ?? also what is the last new machine for sun and what are its details specifications . Thanks (3 Replies)
Discussion started by: tamemi
3 Replies

10. UNIX for Dummies Questions & Answers

Easy question

Hi, Simple question. How do I convert a unix text file to a dos text file? Thanks Helen (4 Replies)
Discussion started by: Bab00shka
4 Replies
Login or Register to Ask a Question