[Linux-Biella] estrarre del testo da un file
Federico "Darkmagister" Pietta
f.pietta a gmail.com
Mer 11 Ago 2010 10:47:35 CEST
On 10/08/2010 22:03, Daniele Segato wrote:
> bash non � molto adatto a questo particolare scopo.. meglio perl...
> anche con awk qualcosina la si fa
> sed qui penso possa aiutarti poco
>
> per� se proprio ti serve sh, bash o simile questo script fa quel che ti
> serve (scritto or ora)
>
ma è uno script mio, quindi nessuno mi obbliga ad usare una cosa
rispetto all'altra, io preferivo usare bash così da fare uno script
pensando fosse comodo, magari appoggiandosi ad applicativi esterni tipo
awk (che ho già usato adesso che ci penso ma non ricordo niente)
> #!/bin/sh
>
> if [ ! -r "$1" ] ; then
> echo "$1 is not a regular file" >&2;
> exit 1;
> fi
>
> # first argument is the file
> cat "$1" |
> # group the commands to avoid the "pipeline disappearing variable issue"
> # see http://mywiki.wooledge.org/BashFAQ/024
> {
> while read line; do
> if [ "$line" = '##########' ] ; then
> # found delimiter going to next content
> CONTENT="$NEXT_CONTENT";
> NEXT_CONTENT='';
> else
> # adding a line to NEXT_CONTENT
> if [ "$NEXT_CONTENT" = '' ] ; then
> NEXT_CONTENT="$line";
> else
> # keep the new line
> NEXT_CONTENT="$NEXT_CONTENT
> $line";
> fi
> fi
> done
>
> # double quotes are needed
> echo "$CONTENT";
> }
>
> ciao,
> Daniele
ecco questo sembra proprio fare al caso mio, non ci sarei mai arrivato
da solo. :(
grazie
--
Federico Pietta "Darkmagister"
http://www.darkmagister.org
Linux Registered User: #425709
public gpg key: gpg --keyserver pgp.mit.edu --recv-key 65E45DEF
Maggiori informazioni sulla lista
Linux