Pagina 1 di 2

[Risolto] rinominare file...

Inviato: sabato 18 dicembre 2010, 10:51
da CyberBonfa
ciao a tutti,

io vorrei rinominare dei file con un nome simile:

Codice: Seleziona tutto

nome-del-file_12345_prosegue-nome-file.xxx
in un nome di questo tipo, cioè spostando i numeri alla fine:

Codice: Seleziona tutto

nome-del-file_prosegue-nome-file_12345.xxx
non ci sono ancora riuscito... immagino che da terminale si possa tranquillamente
ma mi riesce un po complicata la riga di comando..  :-[ (non sono capace)
Pensavo si riuscisse con qualche programmino tipo gprename ma con lui non ci sono ancora riuscito...
grazie a tutti in anticipo!

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:07
da diegt
hai già provato con mv?

Codice: Seleziona tutto

mv nome-del-file_12345_prosegue-nome-file.xxx nome-del-file_prosegue-nome-file_12345.xxx
http://manpages.ubuntu.com/manpages/maverick/en/man1/mv.1.html

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:07
da ziocane
Usa gprename, lo trovi nei repo ed è interfacciato.

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:22
da CyberBonfa
gprename non ha questa opzione... o almeno non la trovo..
comunque con il comando mv ok... ma mi servirebbe un comando con espressione regolare e ricorsivo...
ne ho tanti da rinominare...
non è un solo file..

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:28
da ziocane
Ma il numero cambia o è sempre il medesimo?
Se è lo stesso prima tramite inserisci/cancella sposti il numero alla fine, e poi con il sostituisci/rimuovi tagli il numero dal centro...

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:32
da CyberBonfa
eh.. .troppo facile... allora lo avrei già fatto...
purtroppo il numero cambia per ogni file...
chiedo scusa perchè in effetti non l'ho specificato nel primo post...

diciamo che i nomi dei file sono così:

xxxxxxxxxxxxx_nnnn_xxxxxx.yyy

dove x, n e y sono diversi per ogni file!  ::)

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:36
da ziocane
Scusa ma le tue spiegazioni non sono molto comprensibili...oppure io ho esagerato con il vino ieri sera...
In ogni caso...

tu hai mille file che si chiamano

pinco-1-pallo.jpg
pinco-2-pallo.jpg

e li vuoi rinominare

pincopallo-1.jpg
pincopallo-2.jpg

ho capito giusto?

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 11:41
da CyberBonfa
si, ma pinco e pallo cambiano anche per ogni file...
ti faccio un esempio che facciamo prima.. :)

questo-file_1274_di-esempio.txt
altro-file_3867_con-esempio.txt
e-poi-ci-mettiamo_9436_anche-questo-file.txt

quindi come vedi i nomi cambiano sempre sia in lunghezza che come nome stesso...
i numeri cambiano pure...
l'estenzione non cambia ma la lascio invariata, non è da modificare...
unica costante la lunghezza del numero: 4 cifre!

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:24
da deimos
Ciao!
questo comando ti visualizza solo ciò che viene rinominato. Se ti va bene  togli il "-v"

rename -v 's/^(.*)(_\d{4})_(.*).xxx$/$1$3$2.xxx/' *.xxx

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:25
da CyberBonfa
sto provando a decifrarlo...  ??? :o

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:28
da deimos
rename -v 's/^(.*)(_\d{4})_(.*).xxx$/$1$3$2.xxx/' *.xxx
ho dimenticato di dire che xxx è l'estensione dei tuoi file che devi sostituire

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:30
da CyberBonfa
il man di rename è un po minimo...
e da quello che dice non riesco a capire cosa fa la stringa...
comunque questa non visualizza solamente... questa rinomina e visualizza...
adesso provo a cercare un po in rete qualche info relativa al comando rename

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:46
da CyberBonfa
non trovo niente...
non è che mi puoi indicare un manuale o qualcosa per creare queste espressioni?

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:52
da VeonIlongamor
Io uso molto pyrenamer, anche questo lo trovi nei repository, mi sembra molto ben fatto.
Però, nel tuo caso, il punto è: se questi numeri sono sempre diversi e sono in posizioni diverse per ogni file, mi sa che un procedimento automatizzato sarà un vero macello.
Provo ad esaminare i punti comuni: i caratteri da spostare sono sempre e solo numeri? Nel caso, ci sono altri numeri nei nomi dei file oltre quelli da spostare? Questi numeri sono sempre contigui? Per caso la numerazione procede progressivamente in modo crescente o decrescente? Questi numeri vanno spostati sempre alla fine del nome del file, prima dell'estensione? L'estensione è sempre la stessa?
Magari dai punti comuni riesci a trarre uno script che sposta questa roba.

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 12:56
da drudox
prova a farti uno script bash e ad eseguirlo se non vuoi usare le opzioni di rename... con qualche sintassi opportuna in un ciclo for dovresti riuscirci!!

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 13:04
da deimos
comunque questa non visualizza solamente... questa rinomina e visualizza...
scusa, mi ricordavo male, ho visto che funzionava e sono stato frettoloso  >:(

la stringa è una perl expressio (tipo regexp). Non ne so molto ma puoi cercare con google "rename perl regexp"

intanto ti posso spiegare qualcosina

rename -v 's/^(.*)(_\d{4})_(.*).xxx$/$1$3$2.xxx/' *.xxx
la stringa ricercata parte dall'inizio con "s/^" fino a ".xxx$" (^=inizio stringa, $=fine stringa) ed è costituita da:
(.*) = qualsiasi carattere
(_\d{4})_ = \d significa numero e {4} significa che ce ne devono essere 4
(.*) = qualsiasi carattere

con la barra (/) si indica la fine della stringa da ricercare e subito dopo la sostituzione che avviene cosi:
$1 = l'occorrenza trovata fra le prime parentesi
$2 = la seconda ecc
poi l'estensione
se noti "(_\d{4})_" l'underscore l'ho lasciato fuori cosicchè è escluso nella sostituzione

spero di esserti stato utile :)

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 13:10
da CyberBonfa
allora, per quanto riguarda pyrename non è male in effetti, ma gprename mi permette di modificare anche il nome delle directory, pyrename no... o meglio.. non riesco a trovare il modo...

per quanto riguarda costruire uno script... eh si lo so... con 2 righe di codice fai tutto...
il problema è che non riesco a trovare un manualetto su come costruire le espressioni regolari...
insomma ? a cosa corrisponde? / a cosa corrisponde? ecc...

per quanti riguarda i punti che mi chiede VeonIlongamor, eccoli:
1 - numeri sempre diversi e in posizioni diverse all'interno del nome
2 - numeri sempre di 4 cifre e contigue, senza ordine crescente o decrescente
3 - potrebbero esserci in effetti altri numeri all'interno del nome
4 - i numeri devono essere spostati sempre alla fine del nome, prima dell'estensione ovviamente
5 - estensione potrebbe non essere sempre la stessa, in ogni caso mi basta lasciarla invariata perchè non mi interessa modificarla
6 - i nomi da modificare potrebbero essere anche delle directory

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 13:11
da deimos
con
rename -nv
visualizza solo i cambiamenti senza farli

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 13:15
da CyberBonfa
grazie deimos...
ora che ho appreso un po di più dei simboli provo a smanettarci un po...
magari quando (...e soprattutto SE...) riuscirò a concludere uno script lo zippo e lo posto qui!
immagino che questa mia richiesta sia anormale... ma amgari può servire una cosa simile a qualcun'altro...
....mmmm.... no vero? mi sa che qui sono il più anormale con richieste assurde!  :(

Re: rinominare file...

Inviato: sabato 18 dicembre 2010, 13:17
da deimos
eheh, no . E' abbastanza ostica la questione :)

per quanto riguarda il "manualetto" qui c'e' fin troppo penso :)