我遇到了符号%y
并%d
在学习教程期间。
for i in $(stat -c %y "$1"/* | cut -c 12-13); do
printf "\nTotal files = %d\n" $count
检查没有名为“%y”的选项或主选项
$ man stat | egrep -o "%y"
return nothing
我看到这%d
是用于其他语言的数字,但无法从Bash 参考手册中找到它。
它们是什么意思?
虽然printf
可能是内置的 bash,但stat
不是。因此,这完全取决于stat
您安装的变体/版本。
当我运行你的man/grep
组合时,我实际上得到了输出,因为我stat
是 GNU 的 8.2 版。
我建议您运行stat --version
以查看您实际拥有的版本,然后stat -c %y /
查看该格式说明符是否适用于您的版本。很可能是您的man
页面没有数据。
如果事实证明你stat
确实不支持你所需要的格式说明,您可以随时下载,编译和使用GNU的版本来解决这个问题。
至于为什么你%d
在那个bash
链接中找不到,那是因为它有这个小小的美感(如果你运行man bash-builtins
和搜索,你也应该看到它printf
):
除了标准
printf(1)
格式外,还printf
解释了以下扩展名...
换句话说,它只列出标准格式说明符的扩展名。如果你运行man 1 printf
,你会看到它支持:
...所有以 . 之一结尾的 C 格式规范
diouxXfeEgGcs
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句