[OT] regular expressions
Apollon Koutlidis
apollon at planewalk.net
Sat Jun 21 12:56:37 EEST 2008
Harris Kosmidhs wrote:
> Καλημέρα,
>
> λίγο off-topic,
don't feed the idlers...
>
> έχω περίπου 20-30 text αρχεία με στίχους της μορφής:
>
> μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα
> μπλα μπλα
>
> [κενές γραμμές 1 ή πολλές]
>
> μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα μπλα μπλα
> μπλα μπλα μπλα μπλα
>
> Θα ήθελα με sed, perl η ότι άλλο να μετατραπεί σε κάτι του στυλ:
>
> <p>
> μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα<br>
> μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα <br>
> μπλα μπλα μπλα μπλα μπλα μπλα <br>
> μπλα μπλα μπλα μπλα μπλα μπλα <br>
> μπλα μπλα μπλα μπλα <br>
> μπλα μπλα <br>
> </p>
> [1 κενή γραμμή]
> <p>
> μπλα μπλα <br>
> μπλα μπλα μπλα μπλα μπλα μπλα<br>
> μπλα μπλα μπλα μπλα μπλα μπλα <br>
> μπλα μπλα μπλα μπλα μπλα μπλα <br>
> μπλα μπλα μπλα μπλα<br>
> </p>
>
apollon at apollon-lap:~/koko$ cat filter.pl
#!/usr/bin/perl -w
my $blankLine=1; # Start with a new paragraph
while (<>) {
if ( /^\s*$/ ) { # Match an empty line with maybe some spaces
if (!$blankLine) { # got a first empty line
$blankLine = 1;
print "</p>\n\n";
}
} else {
if ( $blankLine ) { # End of blank lines' range
print "<p>\n";
$blankLine=0;
}
chomp; # Regular content,
print $_."<br>\n"; # add an HTML linebreak
}
}
apollon at apollon-lap:~/koko$ cat lala | ./filter.pl
<p>
μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα<br>
μπλα μπλα<br>
</p>
<p>
μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα μπλα μπλα<br>
μπλα μπλα μπλα μπλα <br>
</p>
[etc.]
More information about the Linux-greek-users
mailing list