「sample」という名前のフォルダがあり、その中に3つのファイルがあります。サンプルフォルダ内のこれらのファイルを読み取り、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 )