GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einen Ordner durchlaufen und Dateien auflisten?

Ich habe einen Ordner namens ‚sample‘ und er enthält 3 Dateien. Ich möchte ein Shell-Skript schreiben, das diese Dateien im Beispielordner liest und sie mit curl auf einer HTTP-Site postet.

Ich habe Folgendes geschrieben, um Dateien im Ordner aufzulisten:

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

Aber es gibt mir die folgende Ausgabe:

sample/log

sample/clk

sample/demo

Es hängt den übergeordneten Ordner darin an. Ich möchte die Ausgabe wie folgt (ohne den Namen des übergeordneten Ordners)

log

clk

demo

Wie mache ich das?

Akzeptierte Antwort:

Verwenden Sie basename um den führenden Pfad von den Dateien abzustreifen:

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

Aber warum nicht:

( cd sample; ls )

Linux
  1. Die Dateien auflisten, auf die ein Programm zugreift?

  2. Der Zweck des Lost+Found-Ordners in Linux und Unix?

  3. Alle Dateien in einem Ordner drucken?

  4. Suchen und kopieren Sie Dateien

  5. Wie listet man Dateien rekursiv auf und sortiert sie nach Änderungszeit?

Ls-Befehl in Linux (Dateien und Verzeichnisse auflisten)

Bash brechen und fortfahren

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

So zippen Sie Dateien und Ordner in Linux [Anfängertipp]

So komprimieren Sie Dateien und Ordner unter Linux

Dateien des Ordners Seite für Seite mit dem LS-Befehl auflisten