Thread View: es.comp.os.linux.programacion
9 messages
9 total messages
Started by serasihay
Sun, 27 Aug 2006 19:08
Cuestión de sed
Author: serasihay
Date: Sun, 27 Aug 2006 19:08
Date: Sun, 27 Aug 2006 19:08
44 lines
2482 bytes
2482 bytes
Hola qu� tal, Quiero poner orden a mi colecci�n de mp3 y para ello utilizo "one-liners" con sed o rename. La idea es que los nombres de los ficheros tengan el formato: "Numero_de_pista - Nombre_canci�n.mp3" La cosa me funciona -en general- m�s o menos bien, pero me falla con ciertos nombres de fichero. Por ejemplo, el fichero de origen: "Lax'n'Busto - Vas de punt... o qu�!!! - 01 - Tinc fam de tu.mp3" deber�a quedar: "01 - Tinc fam de tu.mp3" He probado con: for i in "*.mp3"; do mv "$i" "`echo "$i"|sed 's/Lax'n'Busto - Vas de punt... o qu�!!! - //'`"; done o con: rename 's/Lax'n'Busto - Vas de punt... o qu�!!! - //' *.mp3 y distintas variaciones del: 's/Lax'n'Busto - Vas de punt... o qu�!!! - //' como: "s/Lax'n'Busto - Vas de punt... o qu�!!! - //" 's/"Lax'n'Busto - Vas de punt... o qu�!!! - "//' 's/Lax\'n\'Busto\ \- \Vas\ \de\ punt\.\.\.\ o\ qu�\!\!\!\ \-\ //' 's/Lax'n'Busto - Vas de punt... o qu�!!! - //' 's/"Lax\'n\'Busto - Vas de punt... o qu�!!! - "//' y otras, pero sin suerte :-( Me gustar�a dar con la f�rmula adecuada, pero si no fuera posible me rendir�a y usar�a: 's/.*[0-9]//' que limpiar�a todo lo que hubiera antes de encontrarse con el primer d�gito, *pero* eliminando �ste tambi�n, cosa que no deseo. C�mo podr�a corregirlo, de manera que eliminara todo lo que encontrara antes del primer d�gito sin eliminar tambi�n a �ste? Muchas gracias a tod@s!
Re: Cuestión de sed
Author: Claudio
Date: Sun, 27 Aug 2006 20:37
Date: Sun, 27 Aug 2006 20:37
11 lines
1195 bytes
1195 bytes
On 2006-08-27, serasihay <NO@SPAME.ES> wrote: > 's/.*[0-9]//' > > que limpiar�a todo lo que hubiera antes de encontrarse con el primer d�gito, Creo que con: s/^[^0-9]*\([0-9]\)/\1/ Un saludo. --claudio--
Re: Cuestión de sed
Author: iarenaza
Date: Sun, 27 Aug 2006 21:03
Date: Sun, 27 Aug 2006 21:03
27 lines
2109 bytes
2109 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
>>>>> "serasihay" == serasihay <NO@SPAME.ES> writes:
serasihay> C�mo podr�a corregirlo, de manera que eliminara todo lo
serasihay> que encontrara antes del primer d�gito sin eliminar
serasihay> tambi�n a �ste?
Despues de unas cuantas iteraciones, esto parece funcionar en mi
equipo:
for i in *.mp3; do mv "$i" "`echo "$i" | sed s/Lax\'n\'Busto\ -\ Vas\ de\ punt\.\.\.\ o\ qu�\!\!\!\ -\ //`"; done
Saludos. I�aki.
- --
Get PGP/GPG Keys at http://www.escomposlinux.org/iarenaza/pgpkey.php
I use free software / Yo uso software libre
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>
iD8DBQFE8giBZXLnGT1HLgcRAuEpAJ9HBgnZndSC5zs4eKuUirYNvvRqCQCfXzhB
BNBoTyo5M8+tz85i4DZOIRA=
=LmJL
-----END PGP SIGNATURE-----
Re: Cuestión de sed
Author: serasihay
Date: Sun, 27 Aug 2006 21:17
Date: Sun, 27 Aug 2006 21:17
24 lines
1573 bytes
1573 bytes
"Claudio"<claudio@example.org> wrote in <slrnef40kv.1oh.claudio@example.org>: > On 2006-08-27, serasihay <NO@SPAME.ES> wrote: >> 's/.*[0-9]//' >> >> que limpiar�a todo lo que hubiera antes de encontrarse con el primer >> d�gito, > > Creo que con: > > s/^[^0-9]*\([0-9]\)/\1/ > > Un saludo. > --claudio-- Muchas gracias por tu respuesta Claudio, ha funcionado perfectamente! $ for i in *.mp3; do mv "$i" "`echo "$i" | \ sed 's/^[^0-9]*\([0-9]\)/\1/'`"; done Salut! -- GPG key ID A02B643E
Re: Cuestión de sed
Author: serasihay
Date: Sun, 27 Aug 2006 21:24
Date: Sun, 27 Aug 2006 21:24
22 lines
1742 bytes
1742 bytes
"I�aki Arenaza"<<iarenaza@eb2ebu.ampr.org>> wrote in <87zmdpzybe.fsf@barad-dur.escomposlinux.org>: > (...) > Despues de unas cuantas iteraciones, esto parece funcionar en mi > equipo: > > for i in *.mp3; do mv "$i" "`echo "$i" | sed s/Lax\'n\'Busto\ -\ Vas\ de\ > punt\.\.\.\ o\ qu�\!\!\!\ -\ //`"; done > > Saludos. I�aki. > (...) > Funciona perfectamente I�aki, muchas gracias por tu respuesta! Tengo que repasar mejor eso de escapar caracteres especiales... Ten�a la soluci�n delante de las narices :-/ Salut! -- GPG key ID A02B643E
Re: Cuestión de sed
Author: Pere Pujal i Carabantes
Date: Sun, 27 Aug 2006 22:11
Date: Sun, 27 Aug 2006 22:11
43 lines
2468 bytes
2468 bytes
Hola serasihay! El 27-08-2006 serasihay va escriure en es.comp.os.linux.programacion: Ya te han respondido, pero quisiera a�adir otra forma de hacerlo: > Por ejemplo, el fichero de origen: > "Lax'n'Busto - Vas de punt... o qu�!!! - 01 - Tinc fam de tu.mp3" > Me gustar�a dar con la f�rmula adecuada, pero si no fuera posible me > rendir�a y usar�a: > 's/.*[0-9]//' Tambi�n valdr�a con [[:digit:]] Pero as� te pilla *toda* la l�nea hasta el 3 (�ltimo n�mero de mp3). Debes poner los dos n�meros: 's/.*[0-9][0-9]//' > que limpiar�a todo lo que hubiera antes de encontrarse con el primer d�gito, > *pero* eliminando �ste tambi�n, cosa que no deseo. C�mo podr�a corregirlo, > de manera que eliminara todo lo que encontrara antes del primer d�gito sin > eliminar tambi�n a �ste? Y ahora viene el truco, c�mo copiar parte de lo que se ha quitado? 's/.*\([0-9][0-9]\)/\1/' Si te fijas, la cosa est� en meter lo que quieres guardar entre par�ntesis y luego llamarla con \n�mero. En este caso, s�lo hay un grupo de par�ntesis. Si hubiera m�s seguir�a correlativo. Los par�ntesis los escapo por estar en la consola, posiblemente si lo incluyes en un script te puedes ahorrar escaparlos. > Muchas gracias a tod@s! Salut Pere
Re: Cuestión de sed
Author: serasihay
Date: Mon, 28 Aug 2006 09:44
Date: Mon, 28 Aug 2006 09:44
50 lines
2613 bytes
2613 bytes
Hola Pere, "Pere Pujal i Carabantes"<"ppujal A R R O B A"@airtel.net> wrote in <slrnef464a.dke.ppujalARROBA@hola.fou.net>: (...) > Ya te han respondido, pero quisiera a�adir otra forma de hacerlo: Bienvenida ser�! :-) (...) > > Tambi�n valdr�a con [[:digit:]] > Pero as� te pilla *toda* la l�nea hasta el 3 (�ltimo n�mero de mp3). > > Debes poner los dos n�meros: > 's/.*[0-9][0-9]//' Si no he entendido mal, tambi�n ser�a v�lida la forma: 's/.*[[:digit:][[:digit:]]//' Por lo que he le�do[1], con esa forma se ver�an inclu�dos los d�gitos con d�cimales, no? De la misma manera, la forma [[:alpha:]] permite incluir caracteres acentuados, etc. que formen parte del juego de carateres que use el sistema. (...) > > Y ahora viene el truco, c�mo copiar parte de lo que se ha quitado? > 's/.*\([0-9][0-9]\)/\1/' > > Si te fijas, la cosa est� en meter lo que quieres guardar entre par�ntesis > y luego llamarla con \n�mero. En este caso, s�lo hay un grupo de > par�ntesis. Si hubiera m�s seguir�a correlativo. > Los par�ntesis los escapo por estar en la consola, posiblemente si lo > incluyes en un script te puedes ahorrar escaparlos. Tomo buena nota, me va a ser �til para m�s adelante... Muchas gracias! (...) > Salut > Pere Salut! [1]"Advanced Bash-Scripting guide": http://www.tldp.org/LDP/abs/html/ -- GPG key ID A02B643E
Re: Cuestión de sed
Author: J.A. Gutierrez
Date: Fri, 01 Sep 2006 07:07
Date: Fri, 01 Sep 2006 07:07
16 lines
1584 bytes
1584 bytes
serasihay <NO@spame.es> wrote: : Quiero poner orden a mi colecci�n de mp3 y para ello utilizo "one-liners" : con sed o rename. : La idea es que los nombres de los ficheros tengan el formato: : "Numero_de_pista - Nombre_canci�n.mp3" <http://giga.cps.unizar.es/~spd/src/audio/renamemp3.sh> -- 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)
Re: Cuestión de sed
Author: serasihay
Date: Fri, 01 Sep 2006 17:01
Date: Fri, 01 Sep 2006 17:01
9 lines
1294 bytes
1294 bytes
"J.A. Gutierrez"<spd@daphne.cps.unizar.es> wrote in <ed8m7j$jd$1@helvete.escomposlinux.org>: (...) > <http://giga.cps.unizar.es/~spd/src/audio/renamemp3.sh> (...) Gracias J.A., ah� hay tela "pa" cortar... Salut!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads