[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10915: 8.13: df -- overly long output lines are very hard to read
From: |
Bernhard Voelker |
Subject: |
bug#10915: 8.13: df -- overly long output lines are very hard to read |
Date: |
Thu, 26 Jul 2012 17:43:22 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120601 Thunderbird/13.0 |
On 07/26/2012 04:23 PM, Pádraig Brady wrote:
> On 03/01/2012 10:56 AM, Voelker, Bernhard wrote:
>>
>> What about a more general --fmt (or --format) option to
>> just get the columns you want in the order you want?
>> E.g.
>>
>> df --format=size,free%,mnt,fs
>> or
>> df --format=size-h,mnt # <column name>-h or
>> df --format=Size,mnt # uppercase Size meaning -h
>
> This is a border line feature, but I'm 60:40 for implementing it.
>
> Note something similar I noticed is:
>
> findmnt -l -o FSTYPE,SOURCE,TARGET
>
> It would make sense to align as closely to that as possible.
> So a full --output list supported by df could be
> FSTYPE,SOURCE,TARGET,SIZE,USED,AVAIL,FREEPCT
>
> It's probably sufficient to use this to just order fields,
> and leave other formatting to existing modifiers.
Implementing --output=<field-list> is of course much simpler
than what Jim proposed [1]:
he suggested a stat-like --format option which takes %-directives.
That would be much more flexible for the user, and the existing
output formats would just be a pre-defined format strings.
We could for the first time have blocks and inodes statistics
in one command:
%i inodes
%I inodes in percent
%a AVAIL
%A AVAIL in percent
%u unused
%U unused percentage
%t total size
%T FSTYPE
%s SOURCE
%m TARGET (mount point)
...
df --format="%u:%i:%T:%m"
And some directives could have mixed SIZE modifiers, e.g.
%{SIZE}u used blocks with SIZE like KMGTPEZY.
%{SIZE}i inode number
df --format="%Tt %Gu %Ki %m"
Scripts could parse the output of --format (or --printf) much
safer (SOURCE and TARGET can include almost any characters like
'\n', '\t', etc. but never e.g. NULL)
df --printf="%U\0%s\0%m\0\n"
As already said, this would be a greater change in df.c,
but some code could surely be shared with stat.c and maybe
in future with "ls --format=..." ;-)
I'm not against --output, but the advantage of a more
flexible --printf is unbeatable IMO.
Have a nice day,
Berny
[1] http://lists.gnu.org/archive/html/bug-coreutils/2012-03/msg00007.html