Re: Find en bash

2009-06-08 Por tema Carlos Martínez
Sigue sin funcionarme. Os copio exactamente todo lo que he probado por si se
os ocurre alguna otra alternativa

1) find /home/ \( -iname *.mp3 -o -iname *.avi \)= esta funciona

2) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
   find /home/ \( $EXTENSIONES \)   = no funciona

3) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
   find /home/ \( $EXTENSIONES \)   = no funciona

4) EXTENSIONES=\*.mp3\ -o \*.avi\
   find /home/ -iname \( $EXTENSIONES \)   = no
funciona

Y quería eviar el bucle porque creo que es más elegante y es que sólo es
cuestión de sustituir una cadena por una variable.

¿Estoy haciendo algo mal?

Muchas gracias


El 7 de junio de 2009 23:41, Angel Claudio Alvarez
dus.an...@gmail.comescribió:

 El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
 escribió:
  Hola a t...@s,
 
 
  Tengo un script para calcular la ocupación de contenido multimedia por
  cada usuario. El problema lo tengo al utilizar el comando find para
  buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.
 
  Si ejecuto el comando tal como:
 
  find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)
 
  ahora bien, si creo una variable con las extensiones tal como:
 
  EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
  find /path/to/find \( $EXTENSIONES \)
 
  ahora el comando find no me encuentra nada.
 
  ¿Alguna sugerencia?
 
 Perdon me olvide de decirte que tenes que sacar el parametro iname de la
 variable

 
  Muchas gracias
 
 


 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org




Re: Find en bash

2009-06-08 Por tema Abilio Almeida Eiroa
El 8 de junio de 2009 13:39, Carlos Martíneztro...@gmail.com escribió:
 Sigue sin funcionarme. Os copio exactamente todo lo que he probado por si se
 os ocurre alguna otra alternativa

 1) find /home/ \( -iname *.mp3 -o -iname *.avi \)    = esta funciona

 2) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
    find /home/ \( $EXTENSIONES \)   = no funciona

A ver, a esto no le llames así: find /home/ \( $EXTENSIONES \) hazlo
así: find /home/ `EXTENSIONES` (con las comillas de la tecla que está
a la derecha de la P) (o lo mismo pero con el símbolo del dolar
también, es lo mismo: find /home/ `$EXTENSIONES` , pero ponle las
comillas esas). Así te tiene que devolver los mimo.

Todo lo demás está mal, las posibles soluciones que también te
devolverían los mismo casos pero no son correctas son:
find /home/ ( $EXTENSIONES ) pero te saldría al final de todos los
.mp3 devueltos lo siguiente: find: `( -iname *.mp3 -o -iname *.avi
)': Non hay tal fichero o directorio (por que evalúa eso como nombre
también)
o: find /home ( `EXTENSIONES` ) pero te devolvía todos los
resultados y: find: `(  )': Non hay tal fichero o directorio
(evaluando eso otra vez como parte del iname)

Aunque yo lo haría como dije en el anterior mail que me acabo de dar
cuenta que no lo envié a la lista que lo envié a Ángel al darle a
responder (perdón Ángel) (jod** con Gmail!!), lo pego aquí ahora:

 Copy paste del mail anterior 

Yo haría algo así:
Si con esto (find /path/to/find \( -iname *.mp3* -o -iname *.mpg
\)) te encuentra algo, lo mismo te tendría que encontrar con esto:

EXTENSIONES='\( -iname *.mp3* -o -iname *.mpg \)'
find /path/to/find `EXTENSIONES` (no con $EXTENSIONES)

 Fin copy paste de mail anterior 

Lo siguiente que pusiste (opciones 3 y 4, ni las barajes por que te
vas a acabar liando, aunque funcionarían de las misma manera si
llamaras al comando con las comillas que te digo, de la misma manera
(CONCLUSIÓN: el error está en como llamas después de establecer la
variable a find, forma correcta esta: find /home/ `EXTENSIONES` o
esta: find /home/ `$EXTENSIONES`, todas las demás asignaciones de las
variables e valdrían).

Espero que no te líe todo esto, ponle atención que es fácil liarse con
la parrafada que te acabo de soltar.

Saludos.


 3) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
    find /home/ \( $EXTENSIONES \)   = no funciona

 4) EXTENSIONES=\*.mp3\ -o \*.avi\
    find /home/ -iname \( $EXTENSIONES \)   = no
 funciona

 Y quería eviar el bucle porque creo que es más elegante y es que sólo es
 cuestión de sustituir una cadena por una variable.

 ¿Estoy haciendo algo mal?

 Muchas gracias


 El 7 de junio de 2009 23:41, Angel Claudio Alvarez dus.an...@gmail.com
 escribió:

 El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
 escribió:
  Hola a t...@s,
 
 
  Tengo un script para calcular la ocupación de contenido multimedia por
  cada usuario. El problema lo tengo al utilizar el comando find para
  buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.
 
  Si ejecuto el comando tal como:
 
  find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)
 
  ahora bien, si creo una variable con las extensiones tal como:
 
  EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
  find /path/to/find \( $EXTENSIONES \)
 
  ahora el comando find no me encuentra nada.
 
  ¿Alguna sugerencia?
 
 Perdon me olvide de decirte que tenes que sacar el parametro iname de la
 variable

 
  Muchas gracias
 
 


 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org






-- 
aabilio - http://linfox.es
http://expulsionporagresion.linfox.es
GPG id C7B08605 Abilio Almeida Eiroa (aabilio)
SIP: aabi...@ekiga.net


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-08 Por tema Ricardo Eureka!
El 8/06/09, Carlos Martínez tro...@gmail.com escribió:
 Sigue sin funcionarme. Os copio exactamente todo lo que he probado por si se
 os ocurre alguna otra alternativa

 1) find /home/ \( -iname *.mp3 -o -iname *.avi \)= esta funciona

  2) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\

echo $EXTENSIONES y muestra la salida

find /home/ \( $EXTENSIONES \)   = no funciona

 3) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\


echo $EXTENSIONES y muestra la salida

 find /home/ \( $EXTENSIONES \)   = no
 funciona

 4) EXTENSIONES=\*.mp3\ -o \*.avi\


echo $EXTENSIONES y muestra la salida

 find /home/ -iname \( $EXTENSIONES \)   = no
 funciona

 Y quería eviar el bucle porque creo que es más elegante y es que sólo es
 cuestión de sustituir una cadena por una variable.

 ¿Estoy haciendo algo mal?

 Muchas gracias


  El 7 de junio de 2009 23:41, Angel Claudio Alvarez dus.an...@gmail.com
 escribió:
 
  El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
  escribió:
 
 
 
   Hola a t...@s,
  
  
   Tengo un script para calcular la ocupación de contenido multimedia por
   cada usuario. El problema lo tengo al utilizar el comando find para
   buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.
  
   Si ejecuto el comando tal como:
  
   find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)
  
   ahora bien, si creo una variable con las extensiones tal como:
  
   EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
   find /path/to/find \( $EXTENSIONES \)
  
   ahora el comando find no me encuentra nada.
  
   ¿Alguna sugerencia?
  
  Perdon me olvide de decirte que tenes que sacar el parametro iname de la
  variable
 
 
 
 
  
   Muchas gracias
  
  
 
 
  --
  To UNSUBSCRIBE, email to
 debian-user-spanish-requ...@lists.debian.org
  with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org
 
 




-- 
Ricardo A.Frydman
Administrador Senior de Sistemas Unix
Sun Certified System Administrator - Solaris 10
http://unix-argentina.blogspot.com/
http://www.warrenbuffet.com.ar


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-08 Por tema Carlos Martínez Fernández


Abilio Almeida Eiroa wrote:

El 8 de junio de 2009 13:39, Carlos Martíneztro...@gmail.com escribió:
  

Sigue sin funcionarme. Os copio exactamente todo lo que he probado por si se
os ocurre alguna otra alternativa

1) find /home/ \( -iname *.mp3 -o -iname *.avi \)= esta funciona

2) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
   find /home/ \( $EXTENSIONES \)   = no funciona



A ver, a esto no le llames así: find /home/ \( $EXTENSIONES \) hazlo
así: find /home/ `EXTENSIONES` (con las comillas de la tecla que está
a la derecha de la P) (o lo mismo pero con el símbolo del dolar
también, es lo mismo: find /home/ `$EXTENSIONES` , pero ponle las
comillas esas). Así te tiene que devolver los mimo.

Todo lo demás está mal, las posibles soluciones que también te
devolverían los mismo casos pero no son correctas son:
find /home/ ( $EXTENSIONES ) pero te saldría al final de todos los
.mp3 devueltos lo siguiente: find: `( -iname *.mp3 -o -iname *.avi
)': Non hay tal fichero o directorio (por que evalúa eso como nombre
también)
o: find /home ( `EXTENSIONES` ) pero te devolvía todos los
resultados y: find: `(  )': Non hay tal fichero o directorio
(evaluando eso otra vez como parte del iname)

Aunque yo lo haría como dije en el anterior mail que me acabo de dar
cuenta que no lo envié a la lista que lo envié a Ángel al darle a
responder (perdón Ángel) (jod** con Gmail!!), lo pego aquí ahora:

 Copy paste del mail anterior 

Yo haría algo así:
Si con esto (find /path/to/find \( -iname *.mp3* -o -iname *.mpg
\)) te encuentra algo, lo mismo te tendría que encontrar con esto:

EXTENSIONES='\( -iname *.mp3* -o -iname *.mpg \)'
find /path/to/find `EXTENSIONES` (no con $EXTENSIONES)

 Fin copy paste de mail anterior 

Lo siguiente que pusiste (opciones 3 y 4, ni las barajes por que te
vas a acabar liando, aunque funcionarían de las misma manera si
llamaras al comando con las comillas que te digo, de la misma manera
(CONCLUSIÓN: el error está en como llamas después de establecer la
variable a find, forma correcta esta: find /home/ `EXTENSIONES` o
esta: find /home/ `$EXTENSIONES`, todas las demás asignaciones de las
variables e valdrían).

  
Estas dos líneas deberían ser correctas, tanto por que es lo que me dice 
mi intuición, como vosotros como expertos en Linux. Sin embargo, me 
lista todo el directorio /home obviando el filtrado.


EXTENSIONES='\( -iname *.mp3 -o -iname *.mpg \)'
find /home `EXTENSIONES`


Ahora mismo ya tengo este tema como un reto personal y ver qué es lo que 
me está interpretando el bash. En todas las webs que he buscado, los 
resultados apuntan hacia aquí, pero a mi no me funciona. Y es que lo he 
probado en debian, ubuntu, y CentOS con el mismo resultado en todas ellas.


Muchas gracias por vuestras respuestas.



Espero que no te líe todo esto, ponle atención que es fácil liarse con
la parrafada que te acabo de soltar.

Saludos.

  

3) EXTENSIONES=-iname \*.mp3\ -o -iname \*.avi\
   find /home/ \( $EXTENSIONES \)   = no funciona

4) EXTENSIONES=\*.mp3\ -o \*.avi\
   find /home/ -iname \( $EXTENSIONES \)   = no
funciona

Y quería eviar el bucle porque creo que es más elegante y es que sólo es
cuestión de sustituir una cadena por una variable.

¿Estoy haciendo algo mal?

Muchas gracias


El 7 de junio de 2009 23:41, Angel Claudio Alvarez dus.an...@gmail.com
escribió:


El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
escribió:
  

Hola a t...@s,


Tengo un script para calcular la ocupación de contenido multimedia por
cada usuario. El problema lo tengo al utilizar el comando find para
buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.

Si ejecuto el comando tal como:

find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)

ahora bien, si creo una variable con las extensiones tal como:

EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
find /path/to/find \( $EXTENSIONES \)

ahora el comando find no me encuentra nada.

¿Alguna sugerencia?



Perdon me olvide de decirte que tenes que sacar el parametro iname de la
variable

  

Muchas gracias




--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact
listmas...@lists.debian.org

  





  



--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-08 Por tema Guillermo Indalecio Fernández

Hola,

soy nuevo en la lista y tengo miedo de meter la pata, pero a mí me 
funciona lo siguiente y quería compartirlo:


  #!/bin/bash
  variable=-iname *.jpg -o -iname *.pdf
  find /home/guille/ $variable

Bueno, espero que te funcione, o al menos que te sirva de algo. No sé si 
es lo que buscabas, pero creo que está correcto.


Saludos.

On Sun, 7 Jun 2009, Carlos Martínez Fernández wrote:


Hola a t...@s,


Tengo un script para calcular la ocupación de contenido multimedia por cada 
usuario. El problema lo tengo al utilizar el comando find para buscar los 
ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.


Si ejecuto el comando tal como:

find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)

ahora bien, si creo una variable con las extensiones tal como:

EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
find /path/to/find \( $EXTENSIONES \)

ahora el comando find no me encuentra nada.

¿Alguna sugerencia?


Muchas gracias


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




--
Guillermo Indalecio Fernández
Estudiante de Ciencias Físicas de la USC
email: guillermo...@gmail.com

Re: Find en bash

2009-06-08 Por tema Carlos Martínez Fernández

Hola Guillermo,

Guillermo Indalecio Fernández wrote:

Hola,

soy nuevo en la lista y tengo miedo de meter la pata, pero a mí me 
funciona lo siguiente y quería compartirlo:

yo también soy nuevo, pero veo que la gente es muy amable y correcta.


  #!/bin/bash
  variable=-iname *.jpg -o -iname *.pdf
  find /home/guille/ $variable

Bueno, espero que te funcione, o al menos que te sirva de algo. No sé 
si es lo que buscabas, pero creo que está correcto.
Fantástico!!!. Esto es lo que buscaba, a pesar de que me quedo con la 
duda de por qué no hay que ponerlo entre paréntesis.


Muchísimas gracias a todos por vuestros comentarios.


Saludos.

On Sun, 7 Jun 2009, Carlos Martínez Fernández wrote:


Hola a t...@s,


Tengo un script para calcular la ocupación de contenido multimedia 
por cada usuario. El problema lo tengo al utilizar el comando find 
para buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.


Si ejecuto el comando tal como:

find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)

ahora bien, si creo una variable con las extensiones tal como:

EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
find /path/to/find \( $EXTENSIONES \)

ahora el comando find no me encuentra nada.

¿Alguna sugerencia?


Muchas gracias


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact 
listmas...@lists.debian.org








--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-08 Por tema aabilio



El 8 de junio de 2009 20:32, Carlos Martínez Fernándeztro...@gmail.com 
escribió:

Hola Guillermo,

Guillermo Indalecio Fernández wrote:


Hola,

soy nuevo en la lista y tengo miedo de meter la pata, pero a mí me
funciona lo siguiente y quería compartirlo:


yo también soy nuevo, pero veo que la gente es muy amable y correcta.


 #!/bin/bash
 variable=-iname *.jpg -o -iname *.pdf
 find /home/guille/ $variable

Bueno, espero que te funcione, o al menos que te sirva de algo. No sé si
es lo que buscabas, pero creo que está correcto.


Fantástico!!!. Esto es lo que buscaba, a pesar de que me quedo con la duda
de por qué no hay que ponerlo entre paréntesis.

Muchísimas gracias a todos por vuestros comentarios.


Saludos.

On Sun, 7 Jun 2009, Carlos Martínez Fernández wrote:


Hola a t...@s,


Tengo un script para calcular la ocupación de contenido multimedia por
cada usuario. El problema lo tengo al utilizar el comando find para buscar
los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.

Si ejecuto el comando tal como:

find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)

ahora bien, si creo una variable con las extensiones tal como:

EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
find /path/to/find \( $EXTENSIONES \)

ahora el comando find no me encuentra nada.

¿Alguna sugerencia?


Muchas gracias


Perdón por no responder esa forma, pensé que tratabas de buscar que te 
funcionara de la manera que proponías (aunque insisto que a mi me funcionaba 
bien, es decir, devolvían los mismo resultados, que no encontraban todos los 
.mp3 de los que dispongo)

Saludos!


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact
listmas...@lists.debian.org







--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact
listmas...@lists.debian.org






--
aabilio - http://linfox.es
http://expulsionporagresion.linfox.es
GPG id C7B08605 Abilio Almeida Eiroa (aabilio)
SIP: aabi...@ekiga.net



signature.asc
Description: OpenPGP digital signature


Find en bash

2009-06-07 Por tema Carlos Martínez Fernández

Hola a t...@s,


Tengo un script para calcular la ocupación de contenido multimedia por 
cada usuario. El problema lo tengo al utilizar el comando find para 
buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.


Si ejecuto el comando tal como:

find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)

ahora bien, si creo una variable con las extensiones tal como:

EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
find /path/to/find \( $EXTENSIONES \)

ahora el comando find no me encuentra nada.

¿Alguna sugerencia?


Muchas gracias


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-07 Por tema Angel Claudio Alvarez
El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
escribió:
 Hola a t...@s,
 
 
 Tengo un script para calcular la ocupación de contenido multimedia por 
 cada usuario. El problema lo tengo al utilizar el comando find para 
 buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.
 
 Si ejecuto el comando tal como:
 
 find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)
 
 ahora bien, si creo una variable con las extensiones tal como:
 
 EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
 find /path/to/find \( $EXTENSIONES \)
 
 ahora el comando find no me encuentra nada.
 
 ¿Alguna sugerencia?
 
si
 ponele comillas
$EXTENSIONES
 
 Muchas gracias
 
 


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Find en bash

2009-06-07 Por tema Angel Claudio Alvarez
El dom, 07-06-2009 a las 10:23 +0200, Carlos Martínez Fernández
escribió:
 Hola a t...@s,
 
 
 Tengo un script para calcular la ocupación de contenido multimedia por 
 cada usuario. El problema lo tengo al utilizar el comando find para 
 buscar los ficheros .mp3, .mpeg, .mpg, .avi, etc. etc.
 
 Si ejecuto el comando tal como:
 
 find /path/to/find \( -iname *.mp3* -o -iname *.mpg \)
 
 ahora bien, si creo una variable con las extensiones tal como:
 
 EXTENSIONES=-iname \*.mp3*\ -o -iname \*.mpg\
 find /path/to/find \( $EXTENSIONES \)
 
 ahora el comando find no me encuentra nada.
 
 ¿Alguna sugerencia?
 
Perdon me olvide de decirte que tenes que sacar el parametro iname de la
variable

 
 Muchas gracias
 
 


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org