ciao devo rinominare dei file con estensioni particolari del tipo .ext"spazio" in .ext (ma anche altre) poichè altrimenti non sarebbero gestibili sotto fat32; ho scritto una cosa del genere
<BR>
<BR>#!/bin/bash
<BR>
<BR>for filename in *$1
<BR>do
<BR> mv $filename ${filename%$1}
<BR>done
<BR>
<BR>exit 0
<BR>
<BR>ma come si passa come parametro il carattere "spazio" allo script ??
<BR>
<BR>sono alle prime armi con gli script per cui abbiate pietà
<BR>
<BR>ciao e grazie<BR><BR>[ Questo Messaggio è stato Modificato da: h8er il 16-10-2004 18:07 ]<br>
Script per rinominare files con estensioni particolari
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Script per rinominare files con estensioni particolari
allo stesso modo che in console, ovvero:
<BR>\
<BR>(ovvero "\" e spazio)<br>
<BR>\
<BR>(ovvero "\" e spazio)<br>
Script per rinominare files con estensioni particolari
cioè ammettendo che lo script si chiami "renext" devo digitare da console:
<BR>
<BR>renext \"spazio"
<BR>
<BR>giusto ?? se faccio così però mi appare questo messaggio di errore:
<BR>
<BR>mv: cannot stat `nomefile.ext´: No such file or directory
<BR>mv: `renext´ and `renext´ are the same file
<BR>
<BR>dove sbaglio ?? magari lo script non va bene ? non riesco proprio a capire, lo script funziona perfettamente con estensioni normali, il problema lo da solamente se l´estensione termina con uno spazio... che sia un problema del comando mv ??<BR><BR>[ Questo Messaggio è stato Modificato da: h8er il 16-10-2004 19:30 ]<br>
<BR>
<BR>renext \"spazio"
<BR>
<BR>giusto ?? se faccio così però mi appare questo messaggio di errore:
<BR>
<BR>mv: cannot stat `nomefile.ext´: No such file or directory
<BR>mv: `renext´ and `renext´ are the same file
<BR>
<BR>dove sbaglio ?? magari lo script non va bene ? non riesco proprio a capire, lo script funziona perfettamente con estensioni normali, il problema lo da solamente se l´estensione termina con uno spazio... che sia un problema del comando mv ??<BR><BR>[ Questo Messaggio è stato Modificato da: h8er il 16-10-2004 19:30 ]<br>
Script per rinominare files con estensioni particolari
prova a mettere
<BR>mv "$filename" "${filename%$1}"
<BR>
<BR>non sono in questo momento sotto linux e quindi non posso provare ...<br>
<BR>mv "$filename" "${filename%$1}"
<BR>
<BR>non sono in questo momento sotto linux e quindi non posso provare ...<br>
Script per rinominare files con estensioni particolari
dopo innumerevoli tentativi per capire cosa fosse che non andasse ho scoperto che la mv non accetta comandi che abbiano spazi alla fine per cui mi sono ingegnato un po´:
<BR>
<BR>dato che non si può fare nulla del tipo mv nome.ext(spazio) nome.ext per fortuna si può fare una mv nome.ext"spazio" nome.ext cioè mettendo lo spazio tra le virgolette; di conseguenza ho modificato lo script in modo che metta ste maledette viroglette:
<BR>
<BR>#!/bin/bash
<BR>
<BR>for filename in *"$1"
<BR>
<BR>do
<BR> var=${filename%$1}
<BR> mv $var"$1" ${filename%$1}
<BR>done
<BR>
<BR>exit 0
<BR>
<BR>e questo funziona alla perfezione... lo testerò se funziona anche per tutti gli altri tipi di estensione.. spero che la fatica fottuta che ho fatto per scrivere sto script possa servire a qualcuno (specialmente a chi usa gli ftp
) almeno ad evitarsi un pomeriggio di frustrazione...
<BR>
<BR>ciao
<BR><br>
<BR>
<BR>dato che non si può fare nulla del tipo mv nome.ext(spazio) nome.ext per fortuna si può fare una mv nome.ext"spazio" nome.ext cioè mettendo lo spazio tra le virgolette; di conseguenza ho modificato lo script in modo che metta ste maledette viroglette:
<BR>
<BR>#!/bin/bash
<BR>
<BR>for filename in *"$1"
<BR>
<BR>do
<BR> var=${filename%$1}
<BR> mv $var"$1" ${filename%$1}
<BR>done
<BR>
<BR>exit 0
<BR>
<BR>e questo funziona alla perfezione... lo testerò se funziona anche per tutti gli altri tipi di estensione.. spero che la fatica fottuta che ho fatto per scrivere sto script possa servire a qualcuno (specialmente a chi usa gli ftp
<BR>
<BR>ciao
<BR><br>

