GNU/Linux >> Linux の 問題 >  >> Linux

フォルダとリストファイルをループしますか?

「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 )

Linux
  1. LinuxおよびUnixでのLost+foundフォルダーの目的は?

  2. フォルダ内のすべてのファイルを印刷しますか?

  3. Linux ls コマンド - ファイルの一覧表示

  1. Linuxターミナルでファイルとフォルダを削除します

  2. を除くすべてのファイルを一覧表示するコマンド。 (ドット) と .. (ドット ドット)

  3. ファイルを再帰的にリストし、変更時間でソートする方法は?

  1. 数値でソートされたファイルを一覧表示しますか?

  2. プログラムによってアクセスされるファイルを一覧表示しますか?

  3. デスクトップフォルダとファイルが消えましたか?