Shell-Script
循環瀏覽文件夾並列出文件
我有一個名為“sample”的文件夾,裡面有 3 個文件。我想編寫一個 shell 腳本,它將讀取範例文件夾中的這些文件並使用 curl 將其發佈到 HTTP 站點。
我編寫了以下內容以列出文件夾內的文件:
for dir in sample/*; do echo $dir; done
但它給了我以下輸出:
sample/log sample/clk sample/demo
它在其中附加父文件夾。我希望輸出如下(沒有父文件夾名稱)
log clk demo
我該怎麼做呢?
用於
basename
去除文件的前導路徑:for file in sample/*; do echo "$(basename "$file")" done
雖然為什麼不:
( cd sample; ls )
假設您的外殼支持它,您可以使用參數擴展
for path in sample/*; do printf -- '%s\n' "${path##*/}" done
或者您可以更改到該目錄並在那裡列出