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

Re: ¿Como encontrar un tipo de archivo? (bash).



El jue, 31-08-2006 a las 09:33 +0200, Pablo Braulio escribió:
> Hola a todos.
> 

Hola

> Estoy haciendo un script, y necesito comprobar si en un directorio 
> existe uno o varios archivos de una extensión determinada.
> 
> Con la opción -e puedo comprobar si existe algún archivo o directorio, 
> pero para casos tan generales no se como hacerlo.
> 
> Me explico:
> 
> if [ -e hola.txt ]; then echo "el fichero existe" else echo "el fichero 
> no está" fi
> 
> Pero lo siguiente no funciona:
> 
> if [ -e *.txt ]; then echo "el fichero existe" else echo "el fichero no 
> está" fi
> 


En vez de poner el comodín directamente prueba con:

if [ "$(echo *.txt)" ] ; then .......

si no hay archivos la cadena estará vacía dando false, si hay uno o más
será true.

> ¿Alguien sabría como hacer esto?.
> 
> Y aprovechando, ¿como es "OR" en bash?. Es para decir en el condicional 
> que cumpla si existe tal o tal o tal. ¿Se hace con OR o con || (como en 
> php)?.
> 


if [ CONDICION1 -o CONDICION2 -o CONDICION3 ]; then ...

-o es el OR

if [ CONDICION1 -a CONDICION2 -a CONDICION3 ]; then ...

-a es el AND

Más info de todos estos trucos en «man test»


> Gracias.

De nada

> -- 
> ----
> Saludos
> 
> Pablo
> 
> 

Saludos

-- 
http://soleup.eup.uva.es/mariodebian

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente


Reply to: