Re: Idea nuovo pacchetto gestione brani biblici

#71406
Up
0
Down
::


Pubblico qui i listati dei files.
Prima di farlo, indico i prerequisiti x far si che i files “funzionino” .
1) Il tutto gira sotto linux, (ubuntu studio ver.14.non mi ricordo.non è importante)…… l’importante è la piattaforma, che è linux, sono infatti script in Bash e Perl.
2) Creare in /home/ la cartella Produzione, quindi avere /home/Produzione nella disponibilità di cancella/riscrivi, creare poi la cartella ROUTINE sempre dentro /home/Produzione … avendo quindi /home/Produzione/ROUTINE , magari un bel chmod -R 0777 su /home/Produzione … risolve i problemi di permessi, e festa finita.
3) Copiare i 4 files nella cartella ROUTINE che sono:
1_Splitto.bat, 2_Formatto_i_capitoli.bat, 3_Rinomino_i_capitoli.bat, numera.pl (chiaramente sotto linux l’estensione .bat non serve ed è tecnicamente sbagliata, scorretta…ma linux si accorge da altro che è bash o perl e che sono eseguibili) , rendere eseguibili i files ancora un chmod 0777 sui files (stesso comando di prima) .
4) Creare ora la cartella /home/Produzione/BIBBIA/ ed inserirvi i files da elaborare. Attenzione se i files vengono dal mondo dos/microsoft un bel comando dos2unix formatterà il fine riga e a capo in modo Unix/Linux ….altrimenti il primo eseguibile non funzionerebbe.
Preciso da subito che la formattazione e la preparazione dei files per la lettura del pacchetto PRESCINDE dal fatto che si tratti di testi Biblici, salvo il fatto che poi il pacchetto richiamerà i versetti per nome libro,capitolo,e versetto, con nome libro tra quelli presenti nella bibbia Ge, Lc etc.. Genesi,Luca… in pratica una ulteriore estensione del pacchetto potrebbe consentire l’acquisizione anche di testi che nulla hanno a che vedere con la bibbia.
1_Splitto.bat
`
#!/bin/bash
rm -rf /home/Produzione/job
rm -rf /home/Produzione/Libro
rm -rf /home/Produzione/pacchetto
Ver=Westcott_Hort_Translitterato
mkdir -p /home/Produzione/job
# Creo la cartella per salvare i files dei vari capitoli dei vari libri
ls /home/Produzione/BIBBIA/$Ver >/home/Produzione/job/Dep.txt
sed -i 's/\.txt//g' /home/Produzione/job/Dep.txt
for f in $(cat /home/Produzione/job/Dep.txt) ; do
mkdir -p /home/Produzione/Libro/$f
chmod -R 0777 /home/Produzione/Libro
done
####################################
for f in $(cat /home/Produzione/job/Dep.txt) ; do
awk -v path=”/home/Produzione/Libro/$f” -v min_newlines=1 '
/^[ ]*$/{ newline_counter++ }
/.+/{
if( newline_counter >= min_newlines ) {
file_counter++;
close( path “/” file_counter “.txt” );
};
print $0 > ( path “/” file_counter+1 “cap.txt” );
newline_counter=0;
sleep 2
}' /home/Produzione/BIBBIA/$Ver/$f”.txt”
done
`

Le prime tre righe ripuliscono le cartelle di lavoro popolate dal batch in modo da avere una situazione di partenza pulita.
La prima volta il batch si lamenta un poco non trovando le suddette cartelle …ma gira comunque. Dalla seconda volta in poi tace 😀
Le cartelle di lavoro vengono distrutte e ricreate,ad ogni lancio del batch.
La quarta riga contiene la Variabile Ver che è il nome della sotto cartella di /home/Produzione/BIBBIA/NOME_VERSIONE_BIBBIA
es: /home/Produzione/BIBBIA/Nuova-Riveduta , Ver=Nuova-Riveduta. Nel batch è Westcott_Hort_Translitterato, evidentemente ho preparato con questo batch anche questa versione.
E’ l’unica operazione di.modifica da fare al batch ossia dirgli quale cartella contenente i files txt è da elaborare.
L’eleganza della programmazione è rimasta orfana. Altri potranno migliorare questo e tutti gli altri batch.
Preciso inoltre che miei sono i batch 2_…. e 3_… gli altri sono stati donati da San Google, con piccole mie modifiche.
segue….

Go to top