-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
-
尽管如此,对于一个名为(将报告在标准输入上打开的文件而不是-
当前目录中的文件的信息)的文件仍然会失败。
答案2
添加--
以标记选项的结尾stat
:
for i in *; do stat -c "%s %n" -- "$i"; done
答案3
更简单的是,将文件重命名为 -_I 或简单地命名为 I(不带破折号)。只是出于纯粹的好奇心为什么你在第一个 pplac 中的文件前面加了一个破折号?