我有一个像这样的文件夹结构:
/1/a/x
/1/b/y
/2/a/z
/2/b/d
/3/a/r
/3/b/e
我想列出“ a”文件夹中子文件夹中所有文件的文件+文件大小。我尝试使用查找但卡住了。什么是正确的命令?
要打印尺寸和完整路径,请尝试此操作。
find /[123]/a/* -type f -printf '%s %p\n'
请参阅man find
以获取其他可用于的格式字符串-printf
。特别是,您可能想要%P
或%f
而不是%p
也许%b
而不是%s
。
[123]
匹配名称,该名称是1-3范围内的一位数字;*
如果您的示例与您要描述的现实不完全相符,则可能将其扩展到或受到更多限制。
GNUfind
在CentOS上应该是标准的,但是如果您需要适当的可移植代码,也许可以使用find ... -exec stat {} \;
(但是请注意,它stat
也存在可移植性问题;该命令应该在大多数平台上都存在,但是如何使它打印特定的东西的实现方式有所不同)。另一个选择是,find ... -ls
但是然后您就无法解析了ls
。
如果不需要遍历子目录,则不需要find
。
stat -c '%s %n\n' /[123]/a/*/*
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句