Perl command help needed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl command help needed
# 8  
Old 08-17-2010
Quote:
Originally Posted by pravin27
Something like this,

Code:
perl -nle 'if (/(date|time|ref)(.+?)\s|(date|time|ref)(.+?)$/) { print $&; } else { print $_; }' infile

theres 9 brackets '(' in this so its coming up with unmatched brackets error!

---------- Post updated at 01:54 PM ---------- Previous update was at 01:51 PM ----------

Quote:
Originally Posted by ahmad.diab
Try below:-


Code:
perl -lpe 's/.*?\s*(?=date|time|ref)(.*?)\s+.*/$1/xg;'  infile.txt

Code:
i/p
some stuff date-01/01/01 hello
stuff time-2110 hello how are you today
ref/0001 hello happy birthday
this should remain
this should remain

Code:
o/p
 
date-01/01/01
time-2110
ref/0001
this should remain
this should remain

thank you ahmad! however, jsut a quick question for future reference in case my requirements change in future, what if we had two of the words on one line, but wanted to keep them both and delete any other ones which were also there?
Code:
some stuff date-01/01/01 hello time-2110 
stuff time-2110 hello how are you today
ref/0001 hello happy birthday date-01/01/01 
this should remain
this should remain

giving output:

Code:
date-01/01/01 time-2110 
time-2110 
ref/0001 date-01/01/01 
this should remain
this should remain

# 9  
Old 08-17-2010
working fine at my end. Where you got the 9 brackets "(" ?

Code:
[root@powerbroker pravin]# cat infile
some stuff date-01/01/01 hello
stuff time-2110 hello how are you today
ref/0001 hello happy birthday
some stuff ref/00
this should remain
this should remain

[root@powerbroker pravin]# perl -nle 'if (/(date|time|ref)(.+?)\s|(date|time|ref)(.+?)$/) { print $&; } else { print $_; }' infile
date-01/01/01
time-2110
ref/0001
ref/00
this should remain
this should remain

# 10  
Old 08-17-2010
Quote:
Originally Posted by pravin27
working fine at my end.

Code:
[root@powerbroker pravin]# cat infile
some stuff date-01/01/01 hello
stuff time-2110 hello how are you today
ref/0001 hello happy birthday
some stuff ref/00
this should remain
this should remain
 
[root@powerbroker pravin]# perl -nle 'if (/(date|time|ref)(.+?)\s|(date|time|ref)(.+?)$/) { print $&; } else { print $_; }' infile
date-01/01/01
time-2110
ref/0001
ref/00
this should remain
this should remain

my mistake pravin, i forgot the '(' next to the first 'date'. But yea, do you think we could change this so it meets also does what I said to Ahmad in my last post?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

PERL help needed

Hi, I will be asking a series of major newbie questions, and you help is greatly appreciated in advance!! I have to write a script that will parse a logfile in a directory, the directory name changes daily. So far I have: #!/usr/bin/perl open LOGFILE,">logfile.txt"; ($day, $month,... (3 Replies)
Discussion started by: BG_JrAdmin
3 Replies

2. Shell Programming and Scripting

perl regex help needed

Hi, I want to validate strings in perl, the string may contains characters from a-zA-Z0-9 and symbols +-_.:/\ To validate such a string I computed a regex if ($string =~ m/^/) { print "valid"; } else { print "invalid"; } but this regex also validates strings that contain... (8 Replies)
Discussion started by: zing_foru
8 Replies

3. Shell Programming and Scripting

fgrep command: Perl programming help needed..Kindly advise

Hi, I am novice in PERL enviornment. I have a text files withso many entries in rows and columns. I have to pick up entries named as "Uniprot ID" in the file and create a new text file with list of particular Uniprot ID entries. Can anybody guide regarding this.. I came to know abut fgrep... (1 Reply)
Discussion started by: manigrover
1 Replies

4. Shell Programming and Scripting

Help needed with Perl Script

i have the following script: #!/usr/local/bin/perl use STUN::Client; use Data::Dumper; use strict; my $stun_client = STUN::Client->new; $stun_client->stun_server('10.59.29.14'); my $r = $stun_client->get; my $ip = $r->{ma_address}; print "IP: $ip\n\nResult (hash):... (5 Replies)
Discussion started by: SkySmart
5 Replies

5. Shell Programming and Scripting

Perl script needed

For the following command I need a perl script equivalent with a couple of more things - cat /tmp/mail |grep Appname > /tmp/mail1;cat /tmp/mail >> /tmp/mail1; mail -s "mail subject here" allan@mail.com < /tmp/mail1; >/tmp/mail ; >/tmp/mail1 ================== cat /tmp/mail ***** Alert *****... (4 Replies)
Discussion started by: jacki
4 Replies

6. Shell Programming and Scripting

Perl script help needed..

Hi, I am new to perl scripting. Can anybody help me in solving the below problem. I have file, which is called map_file. According to map_file's last column data, i need a output file, which has repeats as like the map_file's last column name. Thank you in advance Vasanth (5 Replies)
Discussion started by: vasanth.vadalur
5 Replies

7. Shell Programming and Scripting

Perl Script Help Needed

I need this script to be able to check both IPs that are given to it and exit with an OK... if one of those expected IPs is returned. The script is run like this: /bin/dns_checker.pl -s 69.34.55.66 -q htt.jababa.com -e 69.44.56.33,45.47.43.55 Right now, the script is failing, but when I... (4 Replies)
Discussion started by: SkySmart
4 Replies

8. Shell Programming and Scripting

Help Needed Perl

Hi, I need your help on this script wherein I am matching up the input phone numbers for a partical pattern (xxx-xxxx). However in this I want to have null output where first value of input is null. ( For Example: $record = " ,111-5555") . Ideally I would expect to recieve input in this format... (6 Replies)
Discussion started by: john_prince
6 Replies

9. Shell Programming and Scripting

Perl - help needed

Hi all, I'm a rookie in Perl scripting, and I have a task to do. Generally it's something like that: I have a reference file consisting of a number and name, tab-separated. One entry in one line, about 99 lines in file. The other file is an XML log file, where in one specific branch, eg.... (8 Replies)
Discussion started by: tklich
8 Replies

10. AIX

Perl.rte needed..

Hello I was installing ssh in Aix 4.3 but found that "perl.rte and rpm.rte" was not installed. but to my bad luck i was not able to find these packages for Aix 4.3. Ibm site just has these packages only for 5L. Can anyone help me in finding these packages. Bala (1 Reply)
Discussion started by: balaji_prk
1 Replies
Login or Register to Ask a Question