find -printf 中 % 指令的说明

San*_*avi 37 find

find /tmp -printf '%s %p\n' |sort -n -r | head
Run Code Online (Sandbox Code Playgroud)

这个命令工作正常,但%s %p这里使用的选项是什么?还有其他选项可以使用吗?

Hen*_*nes 49

这里使用的 %s %p 选项是什么?

从手册页:

%s 文件的大小(以字节为单位)。

%p 文件名。

在该页面上向下滚动 printf 的所有常规字母,并阅读以 % 为前缀的部分。

%n 文件的硬链接数。

%p 文件名。

%P 文件名和起始点的名字被删除。

%s 文件的大小(以字节为单位)。

%t 文件的最后修改时间,格式为 C `ctime' 函数返回。

还有其他选项可以使用吗?

有。请参阅联机帮助页的链接。

  • 我还应该补充一点,除了为相对缺乏经验的用户提供大量且通常难以理解的手册页输出之外,作为程序员/高级用户,我通常正在寻找手册页未涵盖的新颖解决方案。例如(刚刚),'find' 命令输出的特定日期格式。手册页没有告诉您在每个变量前面放置“%T”——至少我没有发现甚至专门寻找它。你可以花一整天的时间来弄清楚它。(或者只是给出。)而在 Stack Exchange 上的搜索将在第一个结果中得到明确解释的答案。 (5认同)
  • @don_crissti 我可以想到几个原因。对于初学者来说,手册页通常会以对程序员有意义的顺序来解释每个功能。这通常对普通用户没有任何帮助。我已经编写脚本 35 年了,这些天我首先搜索 stackexchange,然后在最坏的情况(几乎从不)回退到手册页。 (4认同)
  • @Kusalananda - 嗯,我可以想到一种情况,人们会包含一个网页链接,而不是引用系统上安装的文档:在撰写本文时,他们不在 Linux 计算机上。 ..但是,该链接应该指向(imo)官方文档(因此我上面的评论,由于某种未知的原因,被模组删除了......)。除此之外,我完全同意你的观点:OP应该查阅他们的系统上安装的手册页。 (2认同)
  • @don_crissti 或者他们在没有安装手册页的服务器上,这是相当频繁的。 (2认同)