🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #1234

Re: Ayuda con Bash Script. Tratamiento de nombres de ficheros.

#1234
From: Manolo
Date: Wed, 01 Mar 2006 00:44
75 lines
3410 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola.

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

=> : y que acepte los espacios?
=>  	comillas dobles

Conio... parece que las comillas eran la respuesta :-)

=> : cont=1
=> : echo "Numero de Canciones"
=> : read canciones
=>  	esto lo puedes hacer tu
=>  	canciones=`ls -1 *wma | wc -l`

�Bien! Esto sabia que se podia hacer de otro modo pero no me habia
puesto a investigar.

=>  		a mplayer le puedes decir directamente el nombre del
=>  		fichero de salida
=>  		mplayer -ao pcm -aofile "$NOM".wav "$NOM".wma
=>  	La verdad es que no entiendo muy bien la razon de ser de
=>  	los bucles que haces, pero a ojo, yo diria que tu script se

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'
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:

- ----------------------------8<-------------------------
canciones=`ls -1 *wma | wc -l`
cero=0
cont=1
while [ $cont -le $canciones ]
do
	if [ $cont -gt 9 ]
	then
		cero=""
	fi
	NOM=`basename *$cero$cont*.wma .wma`
	mplayer -ao pcm:file="$NOM".wav "$NOM".wma
	cont=`expr $cont + 1`
done
- --------------------------------------8<---------------

=>  ls -1 *wma|sed 's/\(.*\)\.wma/mplayer -ao pcm -aofile \"\1.wav\" \"\1.wma\"/'|sh

�uffffff! Creo que tengo que hacer un 'man sed' :-)


Un saludo. Gracias a todos.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFEBO34HrWmJqF2ShcRAqL2AJ9CDHPG7r0OuBrLDaqAcdAZ1JPjRwCdGufc
OOIf4ktxWvk6nh47RHA88cA=
=40XX
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <F76Nf.170679$US.116117@news.ono.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!80.239.144.83.MISMATCH!newspeer1.de.telia.net!newspeer4.de.telia.net!de.telia.net!newsf01.ono.com!news.ono.com.POSTED!53ab2750!not-for-mail
References: <t5OMf.170600$US.147751@news.ono.com> <du12t9$ln0$1@appleseed.escomposlinux.org>

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!news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!80.239.144.83.MISMATCH!newspeer1.de.telia.net!newspeer4.de.telia.net!de.telia.net!newsf01.ono.com!news.ono.com.POSTED!53ab2750!not-for-mail
Newsgroups: es.comp.os.linux.programacion
From: Manolo <manolo@elektra.org>
Subject: Re: Ayuda con Bash Script. Tratamiento de nombres de ficheros.
References: <t5OMf.170600$US.147751@news.ono.com> <du12t9$ln0$1@appleseed.escomposlinux.org>
Organization: La Organizacion Enemiga
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: slrn/0.9.8.1pl1 (Debian)
Lines: 75
Message-ID: <F76Nf.170679$US.116117@news.ono.com>
Date: Wed, 01 Mar 2006 00:44:21 GMT
NNTP-Posting-Host: 81.202.154.232
X-Trace: news.ono.com 1141173861 81.202.154.232 (Wed, 01 Mar 2006 01:44:21 MET)
NNTP-Posting-Date: Wed, 01 Mar 2006 01:44:21 MET