GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo averiguar si hay archivos en una carpeta y salir en consecuencia (en Ksh)?

Tengo un KSH (no Bash ) script que quiero adelantar con una verificación de conteo de archivos. Si no hay ningún archivo que desee imprimir "VACÍO", salga. De lo contrario, proceda.

El problema es cuando realizo el recuento de archivos y está VACÍO, luego se rompe.

Código:

###################################################
# Test to see if files exist in Drop Folder
###################################################
CONTENTS=$(ls ${gp_path}ALLSTUFF*.zip)
if [[ ${#CONTENTS[@]} -eq 0 ]]; then
    print 'EMPTY'
    exit 0
else
    print 'NOT EMPTY'
fi

Si no está vacío, funciona.

Si está vacío, aparece el siguiente error y luego el sistema se rompe. Me gustaría que solo informe VACÍO y salga 0:

Error:

/nas/Opt/databox/folder/ALLSTUFF*.zip not found

¿Qué estoy haciendo mal?

Intento #2

Intenté esto también, pero obtuve el mismo resultado:

if [ "$(ls ${gp_path}ALLSTUFF*.zip)" ]; then
    print 'NOT EMPTY'
else
    print 'EMPTY'
    exit 0
fi

Respuesta aceptada:

Puede hacer desaparecer el mensaje de error con 2>/dev/null dentro del ls .

A continuación, puede comprobar si $CONTENTS está vacío con -z

CONTENTS=$(ls -d -- "${gp_path}ALLSTUFF"*.zip 2>/dev/null)
if [ -z "$CONTENTS" ]; then
    print 'EMPTY'
    exit 0
else
    print 'NOT EMPTY'
fi

Linux
  1. Cómo encontrar los principales directorios y archivos (espacio en disco) en Linux

  2. Cómo encontrar archivos con permisos SUID y SGID en Linux

  3. Cómo encontrar archivos grandes de Linux con los comandos find y du

  4. ¿Cómo muevo archivos y directorios a la carpeta principal en Linux?

  5. ¿Cómo chmod y chown archivos ocultos en Linux?

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Cómo encontrar y eliminar archivos duplicados en Linux

Encuentre y elimine el archivo más antiguo si hay más de X archivos en un directorio en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

Cómo comprimir archivos y carpetas en Linux [Consejo para principiantes]

Cómo comprimir archivos y carpetas en Linux