Aggiungere stringa inizio file

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Chimay
Prode Principiante
Messaggi: 65
Iscrizione: mercoledì 20 aprile 2016, 18:07
Sesso: Maschile

Aggiungere stringa inizio file

Messaggio da Chimay »

Salve a tutti,

devo rinominare un file specificando il suo nome, sia iniziale che finale, solo parzialmente.

Per esempio, il file si chiama "casa13428.txt"; lo voglio rinominare in "01casa13428.txt", ma tutto quello che so del nome del file è la stringa iniziale, ovvero "casa".

Pensavo a qualcosa di questo tipo:

Codice: Seleziona tutto

find . -name "casa*" -exec mv {} ... 


Ma come specifico il nuovo nome?

Grazie mille.
Ultima modifica di Chimay il martedì 26 aprile 2016, 16:03, modificato 1 volta in totale.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Aggiungere stringa inizio file

Messaggio da crap0101 »

dipende come li vuoi rinominare.
Probabilmente in un caso del genere viene più comodo fare

Codice: Seleziona tutto

find . -name 'a*' -print0 | while read -d '' f;do   rinomina "${f}";done
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Chimay
Prode Principiante
Messaggi: 65
Iscrizione: mercoledì 20 aprile 2016, 18:07
Sesso: Maschile

Re: Aggiungere stringa inizio file

Messaggio da Chimay »

Chimay [url=http://forum.ubuntu-it.org/viewtopic.php?p=4875120#p4875120][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
...Per esempio, il file si chiama "casa13428.txt"; lo voglio rinominare in "01casa13428.txt"...
Grazie, appena posso vado a vedere come funzionano i comandi che mi hai suggerito (è la prima volta che ho a che fare con Ubuntu).
Chimay
Prode Principiante
Messaggi: 65
Iscrizione: mercoledì 20 aprile 2016, 18:07
Sesso: Maschile

Re: Aggiungere stringa inizio file

Messaggio da Chimay »

Mi puoi spiegare la condizione che hai scritto nel while per favore?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Aggiungere stringa inizio file

Messaggio da Zoff »

con -print0 ha fatto stampare i nomi dei file separati dal carattere '\0', con il -d '' ha settato il separatore per il comando read a '\0', quindi legge i file uno alla volta.

Sarebbe stato piu' semplice:

Codice: Seleziona tutto

find . -name 'a*' -print0 -exec  rinomina "{}" \;
Nel contesto del comando per rinominare (temporaneamente tralasciato da crap01) puoi utilizzare il comando rename.
Ad esempio:

Codice: Seleziona tutto

find . -name "casa*.txt" -exec rename 's/(casa[^\.]+\.txt)/01$1/g' "{}" \;
Fa esattamente quello che hai chiesto nel primo post.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Aggiungere stringa inizio file

Messaggio da crap0101 »

sì, quello che intendevo è se ohni file deve avere un prefisso diverso (mi è venuto il dubbio siccome ne hai usato uno numerico), perchè se invece è sempe lo stesso fai molto prima usando rename.
Zoff ha scritto:con -print0 ha fatto stampare i nomi dei file separati dal carattere '\0', con il -d '' ha settato il separatore per il comando read a '\0', quindi legge i file uno alla volta.

Sarebbe stato piu' semplice:

Codice: Seleziona tutto

find . -name 'a*' -print0 -exec  rinomina "{}" \;
in quel caso (cioè usando -exec) -print0 è inutile, l'ho usato solo perchè immaginavo gli fosse più comodo passare l'output di find ad altri comandi per la rinominazione (dubbio di sopra).
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Chimay
Prode Principiante
Messaggi: 65
Iscrizione: mercoledì 20 aprile 2016, 18:07
Sesso: Maschile

Re: Aggiungere stringa inizio file

Messaggio da Chimay »

Appena posso provo, grazie mille.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti