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: