Adott $n értéke a shellben, amivel ezt futtatom:
perl -p -w -e "s/^/$. + $n\;/" f1
Ilyenkor azonban nem adja hozzá $n értékét, hanem ilyeneket ír:
1 + 73698;vmi
2 + 73698;más
3 + 73698;egyéb
Hogy tudnám rávenni, hogy számolja is ki az összeget, és azt írja a sor elejére?
- 980 megtekintés
Hozzászólások
perl -p -w -e "s/^/($.+$n).\";\"/e" f1
- A hozzászóláshoz be kell jelentkezni
Köszi. Trükkös az a két levédett idézőjel, amelynek (ha jól látom) semmi más szerepe nincs, mint hogy idézze a közte levő pontosvesszőt az extended kifejezésben.
- A hozzászóláshoz be kell jelentkezni
n=$n perl -pe 's/^/sprintf "%d;", $ENV{n}++/e' f1
kerülöm az eszképelést ha csak lehet :)
N.B. az
n=$n
után nincs
;
vagy sortörés, az a parancssor része; beállítja az
n
environmentet csak az utána jövő processznek.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Ügyes. Pontosabban, +1 .
- A hozzászóláshoz be kell jelentkezni
percode
- A hozzászóláshoz be kell jelentkezni