[FreeBSD] sed

Gabor Zahemszky ZGabor at CoDe.hu
2001. Aug. 16., Cs, 10:39:16 CEST


Szia!

On Thu, Aug 16, 2001 at 10:29:45AM +0200, Bacsek Lajos wrote:
> Jelenleg egy eleg ganyolasos scripttel szedem ki a szoveget a tukrozendo
> oldalbol, egy csomo grep, meg grep -v, meg sed-es csere van benne.

Hat az mar gany, ha grep es grep -v is kell egyszerre, ezt sokkal inteligensebb
awk-kal megtenni.  Node lassuk:

> az "ez itt a kezdet" szovegminta utani, es az "ez itt a vegzet" szovegminta
> elotti szoveget adja csak ki nekem.

Ha jol ertem:
be:
AKARMIez itt a kezdetEZ ERDEKELez itt a vegzetMASVALAMI
ki:
EZ ERDEKEL

Megoldas:
pipe eleje |
sed -e 's/^.*ez itt a kezdet\(.*\)ez itt a vegzet.*$/\1/' |
pipe vege

> Persze, a "szovegmintak" ez esetben csak peldak :-)))

Nalam is.

> Tudna vki fejbol segiteni, a manualbol nem jutottam tovabb, napokba tellene,
> amig vegig megertenem :-///

Javaslom az O"Reilly fele sed & awk 2nd edition-t (de amugy a Kernighan-Pike:
A UNIX Op. rendsz. cimu Muszaki kiados konyvben is ra lehet talalni, es az
legalabb magyarul van.  Vagy a CoDe Kft altal kiadott:
Bagoly Zsolt - Papp Gabor: UNIX felhasznaloi ismeretek cimu konyv is segithet
foleg, ha hozza tudsz jutni - Tolem ne is kerd, nekem is csak a lektori 
peldany van meg)

No pa!

ZGabor at CoDe dot HU

-- 
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!' ;IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';set $Z ;for i { [[ $i = ? ]]&&print $i&&break;[[ $i = ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set $Z;X=;for i { [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;X="$X $i";typeset +l i;};print "$X"



További információk a(z) BSD levelezőlistáról