[Risolto] rinominare file...

Installazione, configurazione e uso di programmi e strumenti.
VeonIlongamor
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1067
Iscrizione: mercoledì 30 aprile 2008, 12:18

Re: rinominare file...

Messaggio da VeonIlongamor »

No no, è una cosa che sarà molto utile.
Appena produci uno script me lo copio subito! Ahaha  :D è che non si sa mai cosa può servirti e avere qualcosa di pronto fa sempre bene.
Pensa che ieri sono impazzito due ore per fare uno script dove inserisco due variabili e lui le mette nel posto giusto in una riga di comando così non devo riscrivere ogni volta la riga di comando.
Per uno che non sa una mazza di script è un buon risultato.

Allora, dalle risposte che hai dato l'unico ostacolo grande mi pare il fatto che potrebbero esserci altri numeri all'interno dei nomi, oltre quelli da spostare. Altrimenti il comando di delmos mi sembrava già ottimo. Per caso l'hai provato su dei file di test?
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

ooohhh...  (good)
Grande! Bello il "manualetto"!!!
Adesso inizio..
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
VeonIlongamor
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1067
Iscrizione: mercoledì 30 aprile 2008, 12:18

Re: rinominare file...

Messaggio da VeonIlongamor »

Ho creato una cartella di test con dentro 4 files assortiti tipo
file_1234_file_file.txt
grt_4567_komkl_89_mn_oiu.txt
etc
ho provato il comando suggerito da delmos ed ha funzionato egregiamente come previsto:
il file file_1234_file_file.txt è diventato filefile_file_1234.txt
il file grt_4567_komkl_89_mn_oiu.txt è diventato grtkomkl_89_mn_oiu_4567.txt.
Forse si potrebbe solo opinare per il _ scomparso quando i numeri vengono spostati.
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

sui file confermo...
la sto provando ora su delle directory ma non mi funziona... credo lo script si blocchi perchè non esce mai il prompt...
mi tocca fare un ctrl-C

per quanto riguarda l'underscore non credo sia un problemone, al limite si cambia un po la stringa di uscita... tipo $1$3$2_
ma mi va bene anche così, perchè alla fine in effetti poi io lo toglierei e finirei solo col numero da 4 cifre!
Per il problema "se sono presenti anche altri numeri nel nome" vedo che non ci sono problemi in quanto (.*) legge qualsiasi carattere!
Beh, direi che posso inserire [Risolto]...
Prima però vorrei aspettare un po' per vedere se riesco a far funzionare sta cosa anche sulle directory!
>:( >:(
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
deimos
Prode Principiante
Messaggi: 66
Iscrizione: lunedì 11 ottobre 2010, 19:51
Località: vercelli
Contatti:

Re: rinominare file...

Messaggio da deimos »

se noti "(_\d{4})_" l'underscore l'ho lasciato fuori cosicchè è escluso nella sostituzione
per il trattino opinabile, basta metterlo dentro alle parentesi così "(_\d{4}_)"
il file grt_4567_komkl_89_mn_oiu.txt è diventato grtkomkl_89_mn_oiu_4567.txt
per più occorrenze dei numeri penso sia sufficiente rilanciare il comando

e se percaso ci fosse un numero variabile di cifre, mi pare si possa sostituire
(_\d{4})
con
(_\d{1,})
che prende una o più cifre
Linux counter #101284
mediadownloader
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

esatto!
l'unico inconveniente, secondo me, è se ci sono 2 coppie di numeri da 4 cifre nel nome...
ma in questo caso per 1 sola ricorrenza lo faccio a mano...
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

le directory proprio non le fa... mi sa che è rename che non le gestisce giusto?

per i file confermo che funziona tutto egreggiamente!

volendo aggiungere una chicca... ho provato ma non ci sono riuscito...
se io avessi anche l'estensione variabile?

esempio.. .jpg .mp3 .avi
e tutte le regole x i nomi dei file restassero quelle...
volendo si riesci ad aggiungere una $4 per l'estensione?
ho provato aggiungento .(.*) a fine stringa ma non me la prende
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
deimos
Prode Principiante
Messaggi: 66
Iscrizione: lunedì 11 ottobre 2010, 19:51
Località: vercelli
Contatti:

Re: rinominare file...

Messaggio da deimos »

le directory proprio non le fa... mi sa che è rename che non le gestisce giusto?
si, solo files. Per rinominare anche le directory bisognerebbe implementare una cosa del genere usando mv:
ls *.* | sed "regexp" | sh
ma è un po' più complicato, magari stasera mi ci metto

per aggiungere un'estensione variabile il comando è:
rename -nv 's/^(.*)(_\d{1,})_(.*)\.(.*)$/$1$3$2.$4/' *.*

il problema di prima era che con

Codice: Seleziona tutto

rename -v 's/^(.*)(_\d{4})_(.*).xxx$/$1$3$2.xxx/' *.xxx
                               ^
                               ^
quel punto è considerato come un comando regExp, con la barra davanti (come sopra), lo considera giustamente come carattere
Linux counter #101284
mediadownloader
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

ah cavoli!
... ma io ho guardato nel link che riportavi sopra... c'è molto ma secondo me mancano le basi.. ad esempio questa, che mi dica che la barra in questo caso significa che intende il carattere...
sto cercando su google ma non trovo nulla di decente!
per le directory lascia non preoccuparti... non diventare matto!
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
deimos
Prode Principiante
Messaggi: 66
Iscrizione: lunedì 11 ottobre 2010, 19:51
Località: vercelli
Contatti:

Re: rinominare file...

Messaggio da deimos »

beh, è calato il sole :)

questo per i file
ls -d *.* | sed "s/\(.*\)\(_[0-9]\{1,\}\)_\(.*\)\.\(.*\)/mv & \1\3\2\.\4/" | sh
togli il " | sh " finale per fare le prove

per le dir

Codice: Seleziona tutto

ls -d */ | sed "s/\(.*\)\(_[0-9]\{1,\}\)_\(.*\)\//mv & \1\3\2/" | sh
qui ho solo rimosso la parte dell'estensione
per le directory lascia non preoccuparti... non diventare matto!
troppo tardi :) ... son già matto :)
Ultima modifica di deimos il sabato 18 dicembre 2010, 16:12, modificato 1 volta in totale.
Linux counter #101284
mediadownloader
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: rinominare file...

Messaggio da CyberBonfa »

.............beh........ [Risolto]

.....eh ma cakkio voglio farle anch'io ste cose...
col pascal ho fatto di tutto... ho finito le scuole... ho mezzo abbandonato..
ed ora sono una capra!  >:(
Voglio un manualetto dove mi spieghi i parametri, la | la \ il punto la virgola e tutto il resto uffa!!
grazie mille deimos!!!
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
Avatar utente
CyberBonfa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 695
Iscrizione: giovedì 22 gennaio 2009, 18:03

Re: [Risolto] rinominare file...

Messaggio da CyberBonfa »

Ultima modifica di CyberBonfa il sabato 18 dicembre 2010, 16:32, modificato 1 volta in totale.
Agli occhi di molte persone non c'è nulla di più nascosto di quello ben visibile!
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 12 ospiti