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 )