[Soci SLIP] Script Bin/bash

Alessandro Pasotti apasotti a gmail.com
Mer 10 Nov 2010 08:56:38 CET


Il giorno 10 novembre 2010 07:59, Pasquale Lovicu <lovix_2008 a libero.it> ha
scritto:

>  Hai ragione.
>
> Il problema è questo:
>
> *sed -n '/sottoscritto/p' statini.txt | sed 's/^ *//;s/^\t*//' | cut -c
> '151-167'|sed 's/[[: :]]*//g' > estratti.txt
> *
> Dalle righe del file di testo "statini.txt" che ho convertito con : *pdftotext
> -layout statini.pdf*, prelevo solo le righe contenenti la stringa
> "sottoscritto". Nel file statini è contenuta la stringa codice fiscale che
> estraggo con :*cut -c '151-167'. *Il problema è che la stringa dopo
> "sottoscritto" contiene il nome dell'amministrato che non è di lunghezza
> costante, pertanto con ul cut - c 151-167 non riesco a prelevare, in alcune
> righe, il codice fiscale completo che mi serve per rinominare i file già
> suddivisi in pagine : *pdftk statini.pdf burst output ./elaborati/%1d.pdf*
> .
> rinomino il tutto con :
> *contatore=1
> for nome in $(awk '{print ($1) }' < "estratti.txt")
> do
> mv ./elaborati/$contatore.pdf ./elaborati/$nome.pdf
>
> let "contatore +=1"
> done*
> Le pagine estrapolate devono avere obbligatoriamente il nome del codice
> fiscale dell'interessato, perchè è l'unico dato univoco tra 500
> amministrati. Attualmente, rinominati tutti i file, gli invio
> automaticamente con una procedura automatica (script File Maker PRO) di
> invio posta tramite smtp.
> Spero di essere stato chiaro questa volta e grazie per l'aiuto che
> riuscirete a darmi.
> Pasquale Lovicu
>
>
Usa una regexp come si deve per estrarre il CF e vedrai che
funziona, qualcosa come (non testata):

[A-Za-z]{6}[0-9]{2}[A-Za-z][0-9]{2}[A-Za-z][0-9]{3}[A-Za-z]

non so se sed supporta le PCRE o solo le POSIX, semmai usa perl o python
invece di sed.

Ciao

-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://mailman.pinerolo.linux.it/pipermail/soci/attachments/20101110/7d0a67ec/attachment.html


Maggiori informazioni sulla lista Soci