Newsgroup: it.comp.os.linux.iniziare
Titolo: Manipolazione nomi file

Visto che siete ferrati in materia di "Manipolazione testo" io avrei
un problema di manipolazione nomi dei file.
 
Mensilmente scarico un centinaio di file PDF dalla banca contenenti
ogniuno una quietanza degli F24 dei clienti.
I nomi dei file sono formati cosi' (i codici sensibili li ho
mascherati):
 
3_72402589_AAAAA_
12345678901
.pdf
6_72469315_AAAAA_XXXYYY00Z00A000B.pdf
32_72402849_AAAAA_
12345678901
.pdf
33_72402850_AAAAA_XXXYYY00Z00A000B.pdf
 
- la prima o le prime 2 cifre sono il numero d'ordine nel file .rar;
- le 8 cifre seguenti credo siano un numero d'ordine della banca
  (non ho idea di come continueranno arrivati a 99999999);
- la sigla AAAAA e' il codice dello studio;
- e gli 11 o 16 caratteri sucessivi sono il codice fiscale del cliente
  (per il quale puo' esserci piu' di un file).
 
L'ordine alfabetico chiaramente sara' per le prime 2 cifre ma a me
piacerebbe metterli in ordine per codice fiscale e per farlo dovrei
rinominare i file spostando il codice fiscale all'inizio, cosi':
 
12345678901
_32_72402849_AAAAA.pdf
12345678901
_3_72402589_AAAAA.pdf
XXXYYY00Z00A000B_33_72402850_AAAAA.pdf
XXXYYY00Z00A000B_6_72469315_AAAAA.pdf
 
in modo da poter selezionare velocemente piu' file dello stesso
cliente senza dover stare a cercare in varie parti della directory.
 
E' possibile? e come?
 
So come fare un ciclo for/next per rinominare piu' file
contemporaneamente ma non saprei proprio il codice da inserire per la
manipolazione del testo.
 
Grazie
-- 
Ciao
Andrea Malfatti

 piacerebbe metterli in ordine per codice fiscale e per farlo dovrei
 
Ti basta dare:
sort -t _ -k 4 pippo
 
-- 
bye, Yoda
 

 3_72402589_AAAAA_
12345678901
.pdf
 
verra convertito in:
 
XXXYYY00Z00A000B.pdf_33_72402850_AAAAA.pdf
XXXYYY00Z00A000B.pdf_6_72469315_AAAAA.pdf
12345678901
.pdf_3_72402589_AAAAA.pdf
12345678901
.pdf_32_72402849_AAAAA.pdf
 
come volevasi ottenere, però guarda che l'ordinamento, senza i dovuti e 
corretti zeri di riempimento almeno in un camnpo, tecnicamente parlando, è 
un CASINO, fallo presente a chi di dovere
-- 
Puppy Linux wiki:  
http://dokupuppylinux.info
 
Puppy Linux Forum: 
http://www.italianpuppy.org/
 
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...
dropbox 2GB free - 
http://db.tt/Vc6IeN4
 

 cliente senza dover stare a cercare in varie parti della directory.
 
Oppure imparare ad usare i caratteri jolly
 
ls -l *MLLSTL55B30F839D*
 
unrar lt *MLLSTL55B30F839D*
 
cp *MLLSTL55B30F839D* clienti/mallin.shetland
 
PS  e si possono fare magie simili anche in ambiente grafico 


Salve a tutti !
 
Mi permetto di date il mio piccolo contributo con uno script bash
che copia i file pdf oggetto del thread in una directory temporanea.
Si consiglia di far delle prove su qualche file in quanto non mi assumo 
nessuna responsabilità
 
 
#!/bin/bash
clear
mkdir $HOME/temp
cp *.pdf $HOME/temp
cd $HOME/temp
for a in *.pdf  ; do
         newname=`echo $a |sed s'/....$//' | awk -F"_" '{ printf \ 
"%11s_%04d_%-8s_%-5s\n", $4,$1,$2,$3 }'`
         cp "$a" "$HOME/$newname.pdf"
         sleep 2
done
exit 0
 
 
 
Saluti
 
Andrea G. (andycat)