On Sat, Aug 05, 2006 at 10:22:32AM +0200, Davide Prina wrote:
> Nigi Fabio wrote:
> > Fri, Aug 04, 2006 at 12:52:21PM -0400, Matt Dunford scrive:
>
> >>perl -i -ne 'print unless (/^#/)' tuoscript.sh
>
> Fabrizio Lippolis wrote:
>
> > sed -e 's/\#.*//' tuoscript
>
> >le ho provate entrambe sia la soluzione con sed sia quella con perl,
> >e praticamente fanno lo stesso lavoro,
>
> sbagliato
>
> Le soluzioni proposte non sono equivalenti.
> Quella con perl elimina solo i commenti su tutta la riga e il cui primo
> carattere è #
> La soluzione con sed elimina tutti i commenti, sia di inizio riga che non
e potenzialmente fa anche piu' danni:
> esempio
>
> $ echo "riga codice" > /tmp/mio_script
> $ echo "# riga commento" >> /tmp/mio_script
$ echo "voglio stampare questo carattere: #" >> /tmp/mio_script
$ echo "oppure il mio script contiene robaccia tipo \${REPLY##[nN]}" >> /tmp/mio_script
> $ echo "codice # commento" >> /tmp/mio_script
...
> $ sed -e 's/\#.*//' /tmp/mio_script
oppure, tanto per ribadire il concetto:
$ sed -e 's#\#.*##' /tmp/cacca1
riga codice
voglio stampare questo carattere:
oppure il mio script contiene robaccia tipo ${REPLY
codice