es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

permiso denegado en archivos .gz en Linux.

Tengo algunos archivos .gz, en los cuales quiero ejecutar un script. Necesito que estos archivos permanezcan en formato .gz. Cuando ejecuto mi script:

!#bin#bash
for f1 in $(~/Desktop/hawkfiles17/NG*.fq.gz);
do
  echo "${f1}"
done

Quiero verificar la ubicación de los archivos. El script devuelve:

bash: /home/amyhouseman/Desktop/hawkfiles1/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz: Permiso denegado

He intentado usar:

chmod u+x /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz

Pero bash devuelve:

bash: /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz: no se puede ejecutar el archivo binario: Error de formato de ejecución

Agradecería si alguien pudiera ayudarme, sé que no se pueden ejecutar archivos .gz, pero no estoy seguro de qué más puedo hacer. Ya revisé otros correos antes.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como mencionaste, los archivos .gz son archivos comprimidos y no pueden ser ejecutados directamente. Es probable que el error de “permiso denegado” que estás recibiendo se deba a que no tienes permisos de lectura para el archivo.

    Para verificar los permisos del archivo, puedes usar el comando:

    ls -l /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz
    

    Esto mostrará los permisos del archivo. Si los permisos no incluyen permiso de lectura para el usuario, puedes añadir este permiso usando el comando:

    chmod u+r /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz
    

    Una vez que tengas permiso de lectura para el archivo, puedes usar el comando zcat para ver el contenido del archivo sin descomprimirlo. Por ejemplo, para ver las primeras 10 líneas del archivo comprimido, puedes usar el comando:

    zcat /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz | head
    

    Para ejecutar un script en los archivos manteniéndolos en formato .gz, puedes usar un comando como:

    for f1 in /home/amyhouseman/Desktop/hawkfiles17/NG*.fq.gz;
    do
      script.sh "$f1" > "${f1%.gz}.out.gz"
    done
    

    Esto ejecutará el script en cada archivo, y los resultados se guardarán en un nuevo archivo .gz con el mismo nombre pero con la extensión “.out.gz” añadida. El archivo original .gz permanecerá sin cambios.

Comments are closed.