[glux] mago bash cercasi
Udi
shovski@freemail.it
Wed, 26 Feb 2003 08:19:10 +0100
On Tue, 25 Feb 2003 19:12:16 +0100
gigi-eliotisc <eliotec@tiscalinet.it> wrote:
>=20
> dal basso della mia ignoranza
>=20
> scusa ma " sistemare" una roba che non so assolutamente come funge
> mi getta nel panico
>=20
> l'ho copiato in un file che ho chiamato shortnamer.sh
> l'ho reso eseguibile
>=20
> devo modificare qualcosa tipo index o tipo(name,".").... ?
No, potresti anche non cambiare nulla. Io l'ho provato e funziona.(ti ho s=
egnalato il 'baco' delle estensioni troppo lunghe...oltre i 27-28 caratteri=
..ma non dovresti averne).Magari prova a testarlo prima di usarlo davvero (=
o farti una copia dei file che vuoi rinominare! la prudenza non =E8 mai tro=
ppa!)....Dato che come sempre lo usi a tuo rischio e pericolo! :P
Ma ripeto: gi=E0 cos=EC funziona.
name =E8 solo una variabile...puoi chiamarla come vuoi.
"." =E8 per identificare il . nei file con estensione.
Il mio 'sistema' stava ad indicare che puoi migliorarlo. :)
ciao
Udi
=20
ps man awk...e tutto sar=E0 pi=F9 chiaro.
> >
> >#!/usr/bin/awk -f=20
> >
> >BEGIN { command=3D"ls" ; while ((command |getline name ) > 0 ) {
> >if (length(name) > 30 ) {
> > if (trova=3Dindex(name,".") =3D=3D 0) {
> > tagliata=3Dsubstr(name, 0, 30)
> > rinomina=3Dsprintf("mv %s %s", name, tagliata)
> > }
> > else {
> > split(name, array, ".")
> > est=3Dlength(array[2])
> > rest=3D30-est-1
> > tagliata=3Dsubstr(name, 0, rest)
> > rinomina=3Dsprintf("mv %s %s.%s", name, tagliata, array[2])
> > }
> >system(rinomina)
> >}
> >}
> >}
> >
> >
--=20
----------------------------------------------------------
Everything will be just tickety-boo today.