perl regex multi line cut


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting perl regex multi line cut
# 8  
Old 07-08-2010
Quote:
Originally Posted by durden_tyler
Maybe something like this ?

Code:
$
$ cat f5
some code here
and some more code here
=comment
blabla
blah blah blah
more blah blah
=cut
some code here
some more code here
=comment
blah more blah
=cut
and more code...
$
$ perl -lne 'BEGIN{undef $/} s/^=.*?=cut//msg; print' f5
some code here
and some more code here
 
some code here
some more code here
 
and more code...

tyler_durden
yes! that works. thank you
but i would like to know HOW it works Smilie

why are you use /sm ? is it not 2 different options?? for multi-line and single line?
why need undef$/ if you have /sm ?
how to make the same work in a script inside?
tip78
# 9  
Old 07-08-2010
Quote:
why need undef$/ if you have /sm ?
It sets record separator to undef, so whole file will be loaded into $_ variable.

Quote:
why are you use /sm ? is it not 2 different options?? for multi-line and single line?
/s effect is that "." matches any character in string, including newline.
/m causes ^ and $ to match not only begin and end of the whole string, but also newline characters inside of it.
# 10  
Old 07-08-2010
And another one (f5 is the same as above)
Code:
$ perl -nle 'print unless /=.*?/ .. /=cut/' f5
some code here
and some more code here
some code here
some more code here
and more code...

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Get multi-line sed not to run if regex is found

Hello, everyone. Thanks for taking the time to read my post. I have nagios config files for which I'm adding the custom variable _mac_address. I have a sed script that places this variable into an existing file. The problem I'm having is if a line in the file is commented out, I don't want the... (2 Replies)
Discussion started by: JimBass
2 Replies

2. Shell Programming and Scripting

Multi line regex for search and replace

I have text file like below: a.txt Server=abc Run=1 Time=120.123 Tables=10 Sessions=16 Time=380.123 Version=1.1 Jobs=5 Server=abc Run=2 Time=160.123 Tables=15 Sessions=16 Time=400.258 Version=2.0 (1 Reply)
Discussion started by: sol_nov
1 Replies

3. Shell Programming and Scripting

Perl regex to remove a segment in a line

Hello, ksh on Sun5.8 here. I have a pipe-delimited, variable length record file with sub-segments identified with a tilda that we receive from a source outside of our control. The records are huge, and Perl seems to be the only shell that can handle the huge lines. I am new to Perl, and am... (8 Replies)
Discussion started by: gary_w
8 Replies

4. Shell Programming and Scripting

Multi-line filtering based on multi-line pattern in a file

I have a file with data records separated by multiple equals signs, as below. ========== RECORD 1 ========== RECORD 2 DATA LINE ========== RECORD 3 ========== RECORD 4 DATA LINE ========== RECORD 5 DATA LINE ========== I need to filter out all data from this file where the... (2 Replies)
Discussion started by: Finja
2 Replies

5. Shell Programming and Scripting

sed - multi-line regex syntax eval puzzle

sed novice bashing away at this.... I am trying to build a sed script that will find the instances of "cn" that have more than one "DirXML" value on them.... see sample below: I am not having any luck with any variation that tries to find "DirXML.*\nDirXML.*". Isn't there a way to get sed to... (6 Replies)
Discussion started by: gosleddog
6 Replies

6. Shell Programming and Scripting

How to use Perl to join multi-line into single line

Hello, Did anyone know how to write a perl script to merge the multi-line into a single line where each line with start at timestamp Input--> timestamp=2009-11-10-04.55.20.829347; a; b; c; timestamp=2009-11-10-04.55.20.829347; aa; bb; cc; (5 Replies)
Discussion started by: happyday
5 Replies

7. Shell Programming and Scripting

Perl REGEX - How do extract a string in a line?

Hi Guys, In the following line: cn=portal.090710.191533.428571000,cn=groups,dc=mp,dc=rj,dc=gov,dc=br I need to extract this string: portal.090710.191533.428571000 As you can see this string always will be bettween "cn=" and "," strings. Someone know one regular expression to... (4 Replies)
Discussion started by: maverick-ski
4 Replies

8. Shell Programming and Scripting

How to use Perl to merge multi-line into single line

Hi, Can anyone know how to use perl to merge the following multi-line information which beginning with "BAM" into one line. For each line need to delete the return and add a space. Please see the red color line. ******Org. Multi-line) BAM admin 101.203.57.22 ... (3 Replies)
Discussion started by: happyday
3 Replies

9. Shell Programming and Scripting

Multi-line Substitution Gone Awry - perl

I've been working on this all night and finally have to ask for help... and not just from my coffee pot. I need to replace a line of text only when it is proceeded by a line containing only the letter "H" Input: H -2.204711 -0.922090 -0.024814 P 6-311+G(d) **** C 6-311+G(d)... (7 Replies)
Discussion started by: EmperorNorton
7 Replies

10. Shell Programming and Scripting

how do i strip this line using perl regex.

I have a variable dynamically generated $batch = /dataload/R3P/interface/Bowne/reports/RDI00244.rpt Now I'd like to strip '/dataload/R3P/interface/Bowne/reports/RDI' and '.rpt' from this variable my output should be only 00244 how to do this using perl regex.I'm a newbie to perl and would... (1 Reply)
Discussion started by: ramky79
1 Replies
Login or Register to Ask a Question