[TUHS] Command line options and complexity

John P. Linderman jpl.jpl at gmail.com
Sun Mar 15 05:52:08 AEST 2020


Here's a command I wrote long ago using a different way to deal with
options:

  *isee*
Usage: isee format file ...
    Display specified inode information for files passed as arguments.
    Items of the form ``%X'' in format will be replaced for these X:
dev inode ino mode nlink uid gid rdev size atime
mtime ctime now filename
    Parenthesized printf-style format specifications can follow a %
    to override the default format for the various items.
    %filename is the name of the current file argument.
    %now is the time (in seconds) when the command started running.
    The other items are from the stat structure.

    Example: isee "%(40s)filename: %mtime %mode" /dev/null
    Show file modification time and mode of /dev/null

inode is just a synonym for ino.

Instead of a kazillion options, the %-stat-field items identify *what* you
want to see and the printf-style formats identify *how* you want them
shown. Someone in the Murray Hill library added strftime formats for date
fields, a fine addition, in my view. Adding readable user and group names
rather than numerical ids would be worth considering. *Maybe* having a
"rwx"-style form for mode. Sorting can be done by piping the output through
sort. Don't get hung up on shortcomings of the command, just consider how a
few familiar concepts and pipes can be combined to provide a large number
of options.

On Sat, Mar 14, 2020 at 12:35 AM Greg 'groggy' Lehey <grog at lemis.com> wrote:

> On Friday, 13 March 2020 at 21:45:21 +1100, Dave Horsfall wrote:
> > On Fri, 13 Mar 2020, Greg 'groggy' Lehey wrote:
> >
> >>> -h is a gnuism, isn't it?
> >>
> >> It might have originated there, but then I would expect it to be spelt
> >> '--produce-human-readable-output'.  I haven't been able to establish
> from the
> >> FreeBSD sources or commit logs when it was introduced.  It would
> clearly have
> >> been a reimplementation.
> >
> > It's in "df" as well, praise Cthulu:
> >
> >      aneurin# df -h
> >      Filesystem     Size    Used   Avail Capacity  Mounted on
> >      /dev/ad0s1a    496M    302M    154M    66%    /
> >      /dev/ad0s1d    2.9G    1.4G    1.2G    54%    /usr
> >      /dev/ad0s1e    989M    581M    329M    64%    /var
> ...
>
> It also has the , option:
>
>   === grog at eureka (/dev/pts/72) ~ 8 -> df -,
>   Filesystem  1048576-blocks      Used     Avail Capacity  Mounted on
>   /dev/ada0p4         39,662    21,918    14,571    60%    /
>   /dev/ada0p2         39,662    13,447    23,042    37%    /destdir
>   /dev/ada0p5      3,705,520 1,831,345 1,577,733    54%    /home
>   /dev/ada1p1      7,629,565 6,358,607 1,194,661    84%    /Photos
>
> I find it much easier to see the relative size like that.
>
> Greg
> --
> Sent from my desktop computer.
> Finger grog at lemis.com for PGP public key.
> See complete headers for address and phone numbers.
> This message is digitally signed.  If your Microsoft mail program
> reports problems, please read http://lemis.com/broken-MUA
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20200314/2fabbe44/attachment.html>


More information about the TUHS mailing list