On Tue, Feb 19, 2008 at 02:30:42AM -0800, MOROIANU Dragos wrote:
> Salut,
> Am nevoie de un script care sa faca o substitutie
> intr-un fisier ce contine ceva de genul:
> 
> blablabla
> 4
> (
> blablabla
> 
> Trebuie sa schimb acel 4 in 5 (un numar urmat pe linia
> urmatoare de o paranteza rotunda deschisa se
> incrementeaza).
> Incercand cu perl: $lines =~ s/(5-1)*\(/5\(/;
[1-5] - ceva intre 1 si 5
(...)* - grupeaza 0+ aparitii
prima parte (5-1) nu e atinsa nici o data si se infige in \(
pe care il inlocuieste cu 5.

$lines =~ s/([1-5]*)\(/5\n\(/m;

sau daca vrei, probabil, sa incrementezi:

$lines =~ s/(\d+)(?{$c = $^N + 1;})\n\(/$^R\n\(/m;

ne testat, deci nu stiu cum si daca face ce trebuie, doar ca idee


_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui