[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rinominare con bash



Riprendo il suggerimento di Alessandro T., generalizzandolo secondo
quanto dicevi a Paolo Pecorelli:

$ aaa=ciao.jpeg
$ echo $aaa
ciao.jpeg
$ echo ${aaa%.*}
ciao

La sintassi "%.*" toglie dal fondo della stringa l'ultima occorrenza
dell'espressione regolare ".*", che in questo caso è ".jpeg", ma come
vedi poteva essere qualsiasi altra cosa, visto che nell'espressione tra
graffe non c'è alcun riferimento a "jpeg". Se vuoi togliere tutto quello
che segue un punto, punto compreso, allora questa sintassi non basta,
perché avresti:

$ aaa=ciao.2001.it.com.doc.jpeg.pdf
$ echo ${aaa%.*}
ciao.2001.it.com.doc.jpeg

Infatti il singolo "%" si occupa solo dell'ultima occorrenza in fondo.
Non credo sia il caso tuo, ma se volessi eliminare tutto ciò che segue
il primo punto, punto compreso, dovresti usare:

$ echo ${aaa%%.*}

che elimina ogni occorrenza, non solo l'ultima.


On Thu, 2010-03-18 at 17:42 +0100, Pol Hallen wrote:
> > Prova con  convert "$1" "${1/.jpg/}".pdf
> eh ma poi sono vincolato coi soli file jpg (a volte l'estensione e' jpeg e non 
> posso stare rinominarli tutti)
> 
> Pol
> 
> 


Reply to: