[Bug 265200] du -at broken – filters out only directories, not all files

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 13 Jul 2022 20:07:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265200

            Bug ID: 265200
           Summary: du -at broken – filters out only directories, not all
                    files
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: nabijaczleweli@nabijaczleweli.xyz

Consider the following:

root@freebsd:/bin # du -h -d1 -t 200000000 /usr
275M    /usr/bin
992M    /usr/lib
478M    /usr/local
296M    /usr/lib32
2.2G    /usr
root@freebsd:/bin # du -h -d1 -t -200000000 /usr
 27M    /usr/include
 40K    /usr/libdata
3.6M    /usr/libexec
 19M    /usr/sbin
110M    /usr/share
 96M    /usr/tests
144K    /usr/home

This is correct.

However:
root@freebsd:/bin # du -aht 20000000
 16K    ./cat
 12K    ./chflags
 20K    ./chio
 12K    ./chmod
 24K    ./cp
 24K    ./date
 32K    ./dd
 16K    ./df
8.0K    ./domainname
8.0K    ./echo
 52K    ./ed
 24K    ./expr
4.0K    ./freebsd-version
 12K    ./getfacl
8.0K    ./hostname
8.0K    ./kenv
 12K    ./kill
 12K    ./ln
 36K    ./ls
8.0K    ./mkdir
 16K    ./mv
104K    ./pax
 20K    ./pkill
 48K    ./ps
 12K    ./pwait
8.0K    ./pwd
8.0K    ./realpath
 16K    ./rm
8.0K    ./rmdir
 24K    ./setfacl
160K    ./sh
8.0K    ./sleep
 24K    ./stty
8.0K    ./sync
 16K    ./test
 12K    ./uuidgen
 76K    ./rmail
448K    ./csh
  0B    ./ksh
root@freebsd:/bin # du -aht -20000000
 16K    ./cat
 12K    ./chflags
 20K    ./chio
 12K    ./chmod
 24K    ./cp
 24K    ./date
 32K    ./dd
 16K    ./df
8.0K    ./domainname
8.0K    ./echo
 52K    ./ed
 24K    ./expr
4.0K    ./freebsd-version
 12K    ./getfacl
8.0K    ./hostname
8.0K    ./kenv
 12K    ./kill
 12K    ./ln
 36K    ./ls
8.0K    ./mkdir
 16K    ./mv
104K    ./pax
 20K    ./pkill
 48K    ./ps
 12K    ./pwait
8.0K    ./pwd
8.0K    ./realpath
 16K    ./rm
8.0K    ./rmdir
 24K    ./setfacl
160K    ./sh
8.0K    ./sleep
 24K    ./stty
8.0K    ./sync
 16K    ./test
 12K    ./uuidgen
 76K    ./rmail
448K    ./csh
  0B    ./ksh
1.3M    .

I'd expect at least one of these to produce 0 output, but both of them output
everything.

du(1) says:
     -t threshold
             Display only entries for which size exceeds threshold.  If
             threshold is negative, display only entries for which size is
             less than the absolute value of threshold.
explicitly mentioning "entries", not just directories (coreutils du, where -t
originates, handles this as expected).

-- 
You are receiving this mail because:
You are the assignee for the bug.