erlug
[Top] [All Lists]

RE: [Erlug] alternative multilinea a sed

To: "'erlug@xxxxxxxxxxxxxx'" <erlug@xxxxxxxxxxxxxx>
Subject: RE: [Erlug] alternative multilinea a sed
From: Alessandro Forghieri <Alessandro.Forghieri@xxxxxxxxxx>
Date: Tue, 5 Mar 2002 15:41:28 +0100
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Saluti.

Saluti.

> Per il futuro, il problema è che sed non ha memoria al di 
> fuori di una  linea

Ce l'ha (o avrebbe) ma... it's not a pretty sight.

Per la disponibilita' di perl, credo che sia sulla maggior parte
delle macchine unix moderne (e ti segnalo l'utilita' s2p [sed to
perl] per quando deciderai di
fare il salto).

Per la portabilita' della shell... be' tutte le macchine unix hanno
un comando che si chiama sh, ma se cerchi difare qualcosa di un po'
complesso, auguri.
Se vuoi divertirti, guarda lo script Configure della distribuzione
sorgente di perl - e' in shell e portabile: deve perfino controllare
che true e false siano interpretati correttamente. E se vuoi fare
programmazione portabile in shell (per sh) devi scordarti tutti i
costrutti avanzati di bash e scrivere al livello piu' infimo dove ad
esempio:

export A=pippo # error!

A=pippo
export A    # questo va...

Per sed e awk va un po' meglio ma non tanto - awk ha: awk oawk nawk
mawk e gawk (no, non e' un gioco di parole) tutti con leggere - o
anche pesanti - differenze, e sed ha diverse varianti: lo GNU sed e'
la piu' furba, figurati le altre.

In genere i tool che hanno una sola sorgente tendono ad essere piu'
consistenti - anche di fronte a un cambio di versione - delle
utilita' di sistema di Unix, che hanno avuto 1000 padroni litigiosi
(che vale anche per flex e yacc, BTW).

Se poi uno non si muove da linux la vita e' piu' facile (ma ps, ad
esempio fino a un paio di release fa voleva ps awux e deprecava ps
- -awux, ora e' per fortuna passato al system V/POSIX ps -edalf).

Cheers,
alf

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>

iQA/AwUBPITZXKo1pL48O+7XEQKN2wCcCrMyO9IMH6oJmzKovwUaDppKt7wAnj+/
Y4yvGM8Dtkfd+tv/7YGHYXbt
=c+eD
-----END PGP SIGNATURE-----


<Prev in Thread] Current Thread [Next in Thread>