[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grep con argumentos



On Thu, 30 Sep 2004 xabim@ono.com wrote:

> buenas, resulta que tengo un monton de archivos con un nombre dentro button_blabla.gif
> y lo quiero pasar a boton_blabla.png, a mano y uno por uno es muy costoso
> pero lo pruebo con expresiones regulares en kate como 'button_[?].gif' y
> no funciona y con el grep tampoco puedo pro mas que lo intento.
>
> alguna ayuda? gracias

Perdon acabo de comprobar que he leido mal.

Olvida lo que puse antes que era convertir ficheros gif a ficheros png.

Para convertir cadenas en un fichero lo que se usa es sed.

Si en blabla pueden venir los mismos caracteres que se intercalan entre
nombres de los ficheros la cosa se complica bastante y las expresiones
regulares daran problemas.

Te pongo un ejemplo que usará dos pasadas de sed asumiendo que en el
blabla no existen blancos y que entre nombre y nombre si existirá algún
blanco.

sed 's/button_[^ ]*\.gif/&.png/g' < kk.kk | sed 's/\.gif\.png/.png/g'

Ignoro si te sirve porque sin ver el texto completo resulta dificil
saber si resulta adecuado o no. El problema que suele presentarse con
las expresiones regulares es que no puedes usar expresiones del tipo
'button_.*\.gif' ya que localiza la cadena más grande que cumpla esa
expresión y en lugar de varias cadenas tomaría una sola.

    button_blabla.gif   button_BlaBla.gif  en lugar de
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    button_blabla.gif   button_BlaBla.gif
    ^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^

Normalmente yo para solucionar estas cosas usando shell-script recurro
a trucos del tipo como el que te acabo de indicar.


-- 
Un saludo
Antonio Castro

       /\     /\
         \\W//
        _|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro@ciberdroide.com   |
+()()()---------()()()--------------------+



Reply to: