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 )