Forgot to include coreutils mailing list. -----Original Message----- From: SCOTT FIELDS Sent: Friday, February 10, 2023 4:47 PM To: Bernhard Voelker <m...@bernhard-voelker.de> Subject: RE: [EXTERNAL] Re: Getting inode counts from "du --inodes" clarification
I'm looking to get the number of files in each directory under a given path. But only the top level of each directory (don't include files/directories from subdirectories in each processed directory) Example from your statement: # du --inodes -d 0 --all /usr 119613 /usr In this case, the number of entries directly within /usr is 15 (files, directories, etc), but this is reporting all the files that exists within /usr and all other subdirectories. A script that does what I mean is fairly simple but hardly a simple one liner. -- for directory in $(find <directory> -type d); do echo "$(ls -a $directory | sed '/^\.$/d;/^\.\.$/d'| wc -l) $directory"; done -- -----Original Message----- From: Bernhard Voelker <m...@bernhard-voelker.de> Sent: Friday, February 10, 2023 3:46 PM To: SCOTT FIELDS <scott.fie...@kyndryl.com>; coreutils@gnu.org Subject: [EXTERNAL] Re: Getting inode counts from "du --inodes" clarification On 2/8/23 20:56, SCOTT FIELDS via GNU coreutils General Discussion wrote: > I'm wanting to get a per directory inode report. > > The problem I have with "du -inodes" is that the inode report for a directory > includes all inodes for subdirectories. > > But...if I use "-S" the subdirectory entry itself isn't reported in the given > directory. > > So...say I have a directory with 1000 subdirectories, but each subdirectory > only contains may 5 files, I'll get a response like this: > > "du -inodes <directory>" report all the inodes in <directory, but also all > the inodes in the subdirectories (including the subdirectory itself). > > While...if I run "du -inodes -S <directory>", <directory> will only report > the non-directory file references and non of the direct subdirectories (minus > the contents of those subdirectories). > > Is there a command use I'm missing that will show be all directories with > their total first level entries count, only? As there's no reproducer / example, I'm quite bit confused what is the point. Maybe you want to try a combination with -d? -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize Have a nice day, Berny