ファイル名は-(ダッシュ)で始まります。 [重複]

ファイル名は-(ダッシュ)で始まります。 [重複]

-l私のディレクトリには次のファイルがあります。

今私はしようとしています

for i in *; do stat -c "%s %n" "$i"; done

すべてのファイルをサイズとともに一覧表示しますが、出力の途中に次の内容があります。

395 koko.pub
stat: invalid option -- 'l'
Try 'stat --help' for more information.
2995974 list.txt

したがって、通常のファイル名のようには処理されません-l。ここで目的の動作を取得するにはどうすればよいですかstat

ベストアンサー1

ファイル名の前に使用./:

for i in *; do stat -c "%s %n" "./$i"; done

または、--オプションの終わりを表示するには、次の手順を実行しますstat

for i in *; do stat -c "%s %n" -- "$i"; done

-ただし、名前付きファイル(現在のディレクトリのファイルではなく標準入力で開かれたファイルに関する情報を報告します)については-失敗します。

おすすめ記事