Article View: es.comp.os.linux.programacion
Article #1236Re: Ayuda con Bash Script. Tratamiento de nombres de ficheros.
From: J.A. Gutierrez
Date: Wed, 01 Mar 2006 08:51
Date: Wed, 01 Mar 2006 08:51
68 lines
3644 bytes
3644 bytes
Manolo <manolo@elektra.org> wrote:
: El Tue, 28 Feb 2006 08:50:49 +0000 (UTC),
: J.A. Gutierrez...
: => NOM=`echo *0$cont*.wma|rev|cut -c 5-|rev`
: => para ello (ademas, "rev", no es portable).
: => NOM=`basename *0$cont*.wma .wma`
: Vale. Gracias por esta informacion. Pero reconoce que mi juego con 'rev'
: y 'cut' te ha gustado :-D
desde luego, creativo si que es.
Pero incluso usando cut, no necesitas usar rev:
$ echo foobar.wma | cut -d. -f1
foobar
Hay muchas otras alternativas para quedarse con el nombre
del fichero sin extension, p.e.:
echo foobar.wma | sed 's/\.[^.]*$//'
expr foobar.wma : '\(\([^\.]*\)*\)\(\..*\)'
: Los dos bucles anidados son para tratar de distinto modo a los ficheros
: con numero <10 y >=10. Normalmente las canciones van numeradas de forma
: que los numeros <10 llevan el cero delante tal que: 'cancion01.wma'
entiendo
: Entonces no sabia bien como decir que se procese la cancion 01 indicando
: que el cero esta ahi. '01, 02,..., 09, 10...' y no '1, 2, 3...' Pues un
: bucle para <10 y otro para >=10 (supongo que tiene que haber forma mas
: racional de hacerlo). Pero se me acaba de ocurrir que a�adiendo una
: variable que introduzca o no el cero se podria hacer. Script reescrito
: a�adiendo actualizaciones:
pero te falla si tienes mas de 20 cortes.
Para esos casos lo mejor es extraer la cifra como numero
y expresarlo formateado.
Para ello se pueden usar desde el manejo de aritmetica del
shell o, por aquello de la portabilidad, awk:
N=3
echo $N | awk '{printf("%0.2d\n",$0)}'
Pero de todas formas, para esas cosas, lo que yo haria en
primer lugar es renombrar todos los ficheros para que se
ajusten al estandar elegido.
Ver p.e. <http://giga.cps.unizar.es/~spd/src/audio/renamemp3.sh>
: => ls -1 *wma|sed 's/\(.*\)\.wma/mplayer -ao pcm -aofile \"\1.wav\" \"\1.wma\"/'|sh
: �uffffff! Creo que tengo que hacer un 'man sed' :-)
Hace algun tiempo alguien que suele escribir en este grupo
mando un tutorial bastante completo... veamos...
<http://www.elotrolado.net/showthread.php?s=&threadid=269086>
--
PGP and other useless info at \
http://webdiis.unizar.es/~spd/ \
finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes
ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)
Technical Details
Message-ID:
<du3nbe$ebv$1@appleseed.escomposlinux.org>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!peer01.cox.net!cox.net!antonio.escomposlinux.org!cernicalo.escomposlinux.org!appleseed.escomposlinux.org!escomposlinux.org!appleseed.escomposlinux.org!not-for-mailReferences:
<t5OMf.170600$US.147751@news.ono.com> <du12t9$ln0$1@appleseed.escomposlinux.org> <F76Nf.170679$US.116117@news.ono.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,917cffdfe5a49207
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!peer01.cox.net!cox.net!antonio.escomposlinux.org!cernicalo.escomposlinux.org!appleseed.escomposlinux.org!escomposlinux.org!appleseed.escomposlinux.org!not-for-mail
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Ayuda con Bash Script. Tratamiento de nombres de ficheros.
Date: Wed, 1 Mar 2006 08:51:58 +0000 (UTC)
Organization: Rank
Lines: 68
Message-ID: <du3nbe$ebv$1@appleseed.escomposlinux.org>
References: <t5OMf.170600$US.147751@news.ono.com> <du12t9$ln0$1@appleseed.escomposlinux.org> <F76Nf.170679$US.116117@news.ono.com>
NNTP-Posting-Host: daphne.cps.unizar.es
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: appleseed.escomposlinux.org 1141203118 14719 155.210.152.20 (1 Mar 2006 08:51:58 GMT)
X-Complaints-To: news@appleseed.escomposlinux.org
NNTP-Posting-Date: Wed, 1 Mar 2006 08:51:58 +0000 (UTC)
User-Agent: tin/1.4.7-20030322 ("Suggestions") (UNIX) (IRIX64/6.5 (IP30))