GNU/Linux >> Tutoriales Linux >  >> Linux

¿Recorrer una carpeta y listar archivos?

Tengo una carpeta llamada 'muestra' y tiene 3 archivos. Quiero escribir un script de shell que lea estos archivos dentro de la carpeta de muestra y los publique en un sitio HTTP usando curl.

He escrito lo siguiente para listar archivos dentro de la carpeta:

for dir in sample/*; do
        echo $dir;
        done

Pero me da el siguiente resultado:

sample/log

sample/clk

sample/demo

Está adjuntando la carpeta principal en él. Quiero la salida de la siguiente manera (sin el nombre de la carpeta principal)

log

clk

demo

¿Cómo hago esto?

Respuesta aceptada:

Usa basename para eliminar la ruta inicial de los archivos:

for file in sample/*; do
    echo "$(basename "$file")"
done

Aunque por qué no:

( cd sample; ls )

Linux
  1. Eliminar archivos y carpetas en la terminal de Linux

  2. ¿El propósito de la carpeta Lost+found en Linux y Unix?

  3. ¿Desaparecieron carpetas y archivos del escritorio?

  4. Cómo enumerar recursivamente todos los archivos y directorios

  5. Buscar y copiar archivos

Comando Ls en Linux (Lista de archivos y directorios)

Bash romper y continuar

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

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

Cómo comprimir archivos y carpetas en Linux

Enumere los archivos de la carpeta página por página con el comando LS