ncdt(1) directory tree printer with extended capabilities


ncdt [-db?] [--dirs] [--bitrate] [--prefix text ] [--help] [ directory [ name ]]


ncdt is a small utility for printing directory trees. It has some additional features not found in tree(1). Additional capabilities are:

size field for directories displays the summary size of directory subtree instead of the size of the special file (which is somewhat more useful)
sizes are displayed in a more readable format (that's a minor improvement, but it helps a little)
MP3 files are detected; additional info is displayed for them (which is probably the nicest thing about NcdT) The info is displayed in a compact form, like <2:53 v168JR+> where 2:53 is play time, v (if present) means the file is encoded using VBR, 168 is bitrate (average bitrate for VBR files), J describes channel encoding (Mono, Stereo, Joint-Stereo, Dual channel), R (if present) means the file has a RIFF header at the beginning, + (if present) means the file has ID3v2 tag attached - (if present) means there's no ID3 tag at all (none of these means there's only ID3v1 tag present).

NcdT is particularily nice for indexing CDs.


-d --dirs
Print only directories, omit files. This mode is a rough equivalent of du(1).

-b --bitrate
Print bitrate info for directories. Bitrates are displayed both for ordinary files and directories. If all MP3 files in a given directory subtree have the same bitrate only one number is printed, if they have various bitrates the range is printed.

--prefix text
Prefix listing with given text. This option is not intended for general use. It might be used by programs using NcdT to index CDsor doing similar operations to record additional information.

-? --help
Display usage summary.


When called without any parameters ncdt displays directory tree for current directory (.).

When called with one parameter ncdt displays directory tree for specified directory.

When called with two parameters ncdt displays directory tree for the directory specified as its first parameter. Second parameter is used as directory label for the top level directory (instead of directory name from parameter 1).


prints directory tree for the current directory. It will be labeled .

ncdt /usr
prints directory tree of /usr. It will be labeled /usr

ncdt /cdrom 'CD #21'
prints directory tree of /cdrom. It will be labeled CD #21

ncdt -db /cdrom
lists directory sizes, play times and bitrate ranges


NcdT uses quite a lot of memory. It's also not very fast, but on a decent CPU it should not be noticeable.

There are no real bugs I'm aware of. I don't think there are any now.


Pawel Wiecek <[email protected]>