[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