🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#819
Author: serasihay
Date: Sun, 27 Aug 2006 19:08
44 lines
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
#820
Author: Claudio
Date: Sun, 27 Aug 2006 20:37
11 lines
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
#821
Author: iarenaza
Date: Sun, 27 Aug 2006 21:03
27 lines
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
#824
Author: serasihay
Date: Sun, 27 Aug 2006 21:17
24 lines
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
#823
Author: serasihay
Date: Sun, 27 Aug 2006 21:24
22 lines
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
#825
Author: Pere Pujal i Carabantes
Date: Sun, 27 Aug 2006 22:11
43 lines
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
#826
Author: serasihay
Date: Mon, 28 Aug 2006 09:44
50 lines
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
#831
Author: J.A. Gutierrez
Date: Fri, 01 Sep 2006 07:07
16 lines
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
#833
Author: serasihay
Date: Fri, 01 Sep 2006 17:01
9 lines
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