Comprobar si existe un fichero en bash

febrero 22, 2007 at 4:59 pm 7 comentarios

  if [ -d “$RUTA_COPIA/$i” ]
            then
                echo “Ya existe”
        else
            mkdir $RUTA_COPIA/$i
   fi

Anuncios

Entry filed under: Linux, Shell scripting.

Arrays en bash Uso del comando at y crontab para programar tareas

7 comentarios Add your own

  • 1. Luis Alberto  |  febrero 12, 2009 en 11:39 pm

    No termino de entenderlo muy bien.
    Si lo que quiero es saber si existe un fichero no tendría que poner algo como:

    if [-e “hola.txt”] ?

    Si no es mucho pedir dime como lo podría realizar, ya que lo que quiero realizar es saber si existe un fichero en el directorio en el que se está ejecutando el script. Ejemplo de como sería el mío:

    #!/bin/bash
    #
    # Comprobando si existe fichero hola.txt
    #

    if [-e “hola.txt”]
    then
    echo “El Fichero ya existe”
    else
    touch hola.txt
    echo “fichero creado”
    fi

    lo ejecuto pero me sale error en la linea del if, si pudieras ayudarle te lo agradecería pues necesito saber como se reealiza la comprobación del fichero para terminar de realizar un script en bash que permite capturar los paquetes que le llegan a la interfaz de red y segun las opciones que tengo te indica, en el caso de ser un paquete IP, la de Origen y la de Destino.

    Gracias de antemano.

    Responder
  • 2. Admin  |  febrero 12, 2009 en 11:59 pm

    Prueba con la opción -f o con test -f

    #!/bin/bash
    FILE=~/.fichero
    if [ -f $FILE ]; then
    echo el fichero $FILE existe
    else
    echo fichero no encontrado
    fi
    if [ ‘test -f $FILE’]

    Responder
  • 3. Luis Alberto  |  febrero 13, 2009 en 3:34 pm

    Gracias, al final era pasandole el parametro test -f.

    Ya me funciona correctamente, lo que pasa que ahora lo que estoy haciendo es utilizar la order awk para pasarselo a un fichero y que me devuelva solo los paquetes ip.

    Sabrías algo de esto?

    Responder
  • 4. Luis Alberto  |  febrero 13, 2009 en 5:20 pm

    Ya no hace falta, pero gracias igualmente, ya encontré la manera de hacerlo, gracias al cut, grep y al awk en una misma orden

    Responder
  • 5. Suso Merino  |  mayo 13, 2010 en 4:18 pm

    Hola,

    Ya ha pasado tiempo pero por si alguien se encuentra con el mismo fallo, el problema del código del comentario 1 (Luis Alberto) es que le faltan los espacios dentro de los corchetes es decir, sería así:

    if [ -e “hola.txt” ]
    then
    echo “El Fichero ya existe”
    else
    touch hola.txt
    echo “fichero creado”
    fi

    Por lo demás perfecto.
    Un saludo

    Responder
  • 6. jose  |  noviembre 27, 2012 en 3:57 pm

    interesante pero como saber si al menos un tipo de archivo existe con la siguiente estructura : if[ -e ” *_*_.txt “]

    Responder
  • 7. Grovher Palomino  |  julio 31, 2013 en 5:30 pm

    y como valido si existe el fichero desde una ruta, por ejemplo “/tmp/receptor/” en la carpeta receptor llegaria un fichero comprimido en mi caso… deseo ejecutar un bash que este esperando siempre y cuando llegue un fichero

    te estaria muy agradecido

    Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendario

febrero 2007
L M X J V S D
« Ene   Mar »
 1234
567891011
12131415161718
19202122232425
262728  

Most Recent Posts


A %d blogueros les gusta esto: