フォルダとリストファイルを繰り返します。

フォルダとリストファイルを繰り返します。

3つのファイルを含む「sample」というフォルダがあります。サンプルフォルダからこれらのファイルを読み取り、カールを使用してHTTPサイトに公開するシェルスクリプトを作成したいと思います。

フォルダ内のファイルを一覧表示するために、以下を作成しました。

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

しかし、それは私に次のような結果を与えます:

sample/log

sample/clk

sample/demo

その中に親フォルダを追加します。私が望む出力は次のとおりです(親フォルダ名なし)。

log

clk

demo

どうすればいいですか?

ベストアンサー1

basenameファイルの先行パスを削除するには、次の手順を実行します。

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

しかし、なぜできないのですか?

( cd sample; ls )

おすすめ記事