Article View: es.comp.os.linux.programacion
Article #1232Re: Ayuda con Bash Script. Tratamiento de nombres de ficheros.
From: J.A. Gutierrez
Date: Tue, 28 Feb 2006 08:50
Date: Tue, 28 Feb 2006 08:50
88 lines
3606 bytes
3606 bytes
Manolo <manolo@elektra.org> wrote: : -----BEGIN PGP SIGNED MESSAGE----- : NOM=`ls *0$cont*.wma|rev|cut -c 5-|rev` 1.- El ls no es necesario. En estos casos un simple "echo" (que es un "builtin") es mas rapido, sencillo y con menos efectos no previstos. NOM=`echo *0$cont*.wma|rev|cut -c 5-|rev` 2.- Para quitar la extension es mejor ser un poco menos creativo y recurrir a las ordenes hechas especificamente para ello (ademas, "rev", no es portable). NOM=`basename *0$cont*.wma .wma` : Ahora quiero hacer un 'mv audiodump.wav $NOM.wav' pero no me lo permite : porque entiende '01 Walk on Hot Coals' como si fuesen 5 ficheros : distintos. La pregunta es �como puedo mover 'audiodump.wav' a '$NOM.wav' : y que acepte los espacios? comillas dobles : - -----------------------------------8<------------------------------------- : #!/bin/sh : clear : ls *.wma --color el switch "--color" no es estandar. Mejor dejarlo por defecto, y que el usuario tenga esa opcion en su entorno si quiere. : cont=1 : echo "Numero de Canciones" : read canciones esto lo puedes hacer tu canciones=`ls -1 *wma | wc -l` : while [ $cont -le $canciones ] : do : while [ $cont -lt 10 ] : do : mplayer -ao pcm *0$cont*.wma : NOM=`ls *0$cont*.wma|rev|cut -c 5-|rev` : mv audiodump.wav $NOM.wav a mplayer le puedes decir directamente el nombre del fichero de salida mplayer -ao pcm -aofile "$NOM".wav "$NOM".wma : cont=`expr $cont + 1` : done : while [ $cont -le $canciones ] : do : mplayer -ao pcm *$cont*.wma : NOM=`ls *$cont*.wma|rev|cut -c 5-|rev` : mv audiodump.wav $cont.wav : cont=`expr $cont + 1` : done : done : - --------------------------------8<----------------------------------------- : Esta es la parte para pasar de wma a wav. El script supongo es bastante : mejorable, pero por si a alguien le interesa ojearlo... 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 puede simplificar bastante (de hecho, a una sola linea): ls -1 *wma|sed 's/\(.*\)\.wma/mplayer -ao pcm -aofile \"\1.wav\" \"\1.wma\"/'|sh (ojo: no probado!. Quitar el "|sh" para previsualizar lo que se va a ejecutar) -- 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:
<du12t9$ln0$1@appleseed.escomposlinux.org>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!news.antakira.com!cagarruta.escomposlinux.org!appleseed.escomposlinux.org!escomposlinux.org!appleseed.escomposlinux.org!not-for-mailReferences:
<t5OMf.170600$US.147751@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!news.glorb.com!news.antakira.com!cagarruta.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: Tue, 28 Feb 2006 08:50:49 +0000 (UTC)
Organization: Rank
Lines: 88
Message-ID: <du12t9$ln0$1@appleseed.escomposlinux.org>
References: <t5OMf.170600$US.147751@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 1141116649 22240 155.210.152.20 (28 Feb 2006 08:50:49 GMT)
X-Complaints-To: news@appleseed.escomposlinux.org
NNTP-Posting-Date: Tue, 28 Feb 2006 08:50:49 +0000 (UTC)
User-Agent: tin/1.4.7-20030322 ("Suggestions") (UNIX) (IRIX64/6.5 (IP30))