find 的 -printf 语句如何工作?

find 的 -printf 语句如何工作?
find /home/lead_admin -type f -printf '%s %p\n' | sort -nr | head -10

上面的语句到底-printf '%s %p\n'做了什么?

答案1

man find

-printf format
真的;标准输出上的打印格式,解释“\”转义符和“%”指令。可以使用“printf”C 函数指定字段宽度和精度。请注意,许多字段都打印为 %s 而不是 %d,这可能意味着标志无法按您的预期工作。这也意味着“-”标志确实有效(它强制字段左对齐)。与 -print 不同,-printf 不在字符串末尾添加换行符。转义符和指令 是 :
…………
\n Newline

%p File's name

%s File's size in bytes

由此,我的意思-printf '%s %p\n是它打印文件的大小(以字节为单位),后跟一个空格,然后是文件名,最后是换行符。

相关内容