GNU/Linux >> Tutoriels Linux >  >> Linux

Boucler dans un dossier et lister les fichiers ?

J'ai un dossier nommé "sample" et il contient 3 fichiers. Je souhaite écrire un script shell qui lira ces fichiers dans le dossier d'exemple et le publiera sur un site HTTP à l'aide de curl.

J'ai écrit ce qui suit pour lister les fichiers dans le dossier :

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

Mais cela me donne le résultat suivant :

sample/log

sample/clk

sample/demo

Il y attache le dossier parent. Je veux la sortie comme suit (sans le nom du dossier parent)

log

clk

demo

Comment faire ?

Réponse acceptée :

Utilisez basename pour supprimer le chemin d'accès principal des fichiers :

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

Mais pourquoi pas :

( cd sample; ls )

Linux
  1. Commande Linux ls - Lister les fichiers

  2. Comment lister récursivement tous les fichiers et répertoires

  3. Commande pour lister tous les fichiers sauf . (point) et .. (point point)

  4. Comment déplacer des fichiers et des répertoires vers le dossier parent sous Linux ?

  5. Bouclez les images d'un dossier et affichez le diaporama en plein écran

Commande Ls sous Linux (liste des fichiers et des répertoires)

Bash pause et continuer

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment compresser des fichiers et des dossiers sous Linux [Astuce pour débutant]

Comment compresser des fichiers et des dossiers sous Linux

Comment lister les fichiers de manière récursive et les trier par heure de modification ?