The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a52d0d76fa3e47d5d64b4620280f26979afe15fc

commit a52d0d76fa3e47d5d64b4620280f26979afe15fc
Author:     Warner Losh <i...@freebsd.org>
AuthorDate: 2025-07-26 17:11:10 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2025-07-26 17:12:38 +0000

    find: Document possible formats
    
    Accidentlaly committed with XXX write this. So write which formats
    -printf supports.
    
    Sponsored by:           Netflix
---
 usr.bin/find/find.1   | 76 +++++++++++++++++++++++++++++++++++++++++++++++++--
 usr.bin/find/printf.c |  6 ++++
 2 files changed, 80 insertions(+), 2 deletions(-)

diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1
index 3012ae472015..e5ca81e69bdc 100644
--- a/usr.bin/find/find.1
+++ b/usr.bin/find/find.1
@@ -28,7 +28,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd November 23, 2024
+.Dd July 26, 2025
 .Dt FIND 1
 .Os
 .Sh NAME
@@ -1096,7 +1096,79 @@ as zero;
 It is not yet implemented.
 .It Format:
 One or two characters, described below, which indicates the information to 
display.
-XXX need to write this.
+.Bl -tag -width Ds
+.It p
+Path to file
+.It f
+Filename without directories.
+.It h
+Path relative to the starting point, or '.' if that's empty for some reason.
+.It P
+Unimplemented -- File with command line arg.
+.It H
+Unimplemented -- Command line arg.
+.It g
+gid in human readable form.
+.It G
+gid as a number.
+.It h
+uid in human readable form.
+.It U
+uid as a number.
+.It m
+File permission mode in octal.
+.It M
+File mode in
+.Xr ls 1
+standard form.
+.It k
+File size in KiB (units of 1024 bytes).
+.It b
+File size in blocks (Always 512 byte units, even if underlying storage
+size differs).
+.It s
+Size in bytes of the file.
+.It S
+Sparseness of the file.
+The blocks the file occupies times 512 divided by the file size.
+.It d
+Depth in the tree
+.It D
+Device number for the file.
+.It F
+Unimplemented -- Filesystem type where the file resides.
+.It l
+Object of the symbolic link.
+.It i
+Inode of the file.
+.It n
+Number of hard links.
+.It y
+Unimplemented -- Type of the file
+.It Y
+Unimplemented -- Type of the file with loop detection
+.It a
+Access time of the file.
+.It A
+Access time of the file in strftime format.
+Takes an additional argument.
+.It b
+Birth time of a file.
+.It B
+Birth time of the file in strftime format.
+Takes an additional argument.
+.It c
+Creation time of the file.
+.It C
+Creation time of the file in strftime format.
+Takes an additional argument.
+.It t
+Modification time of the file.
+.It T
+Modification time of the file in strftime format.
+Takes an additional argument.
+.El
+Any format not listed is not supported, though the error changes.
 .El
 .El
 .Sh ENVIRONMENT
diff --git a/usr.bin/find/printf.c b/usr.bin/find/printf.c
index 671d1d1dbb9a..532c17bfb80b 100644
--- a/usr.bin/find/printf.c
+++ b/usr.bin/find/printf.c
@@ -269,6 +269,12 @@ do_printf(PLAN *plan, FTSENT *entry, FILE *fout)
                case 'A': /* access time with next char strftime format */
                        fp_strftime(fp, sb->st_atime, *fmt++);
                        break;
+               case 'b': /* birth time  */
+#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIME
+                       fp_ctime(fp, sb->st_birthtime);
+#else
+                       fp_ctime(fp, 0);
+#endif
                case 'B': /* birth time with next char strftime format */
 #ifdef HAVE_STRUCT_STAT_ST_BIRTHTIME
                        if (sb->st_birthtime != 0)

Reply via email to