On 11/1/18 3:06 PM, Jakub Kicinski wrote: > On Wed, 31 Oct 2018 20:48:05 -0600, David Ahern wrote: >>> spacing with a special character in the format string, that is: >>> >>> "%S.%Qr.%Qs %Al:%Pl %Ar:%Pr %p\n" >>> >>> would mean "align everything to the right, distribute remaining >>> whitespace between %S, %Qr and %Qs". But it looks rather complicated >>> at a glance. >>> >> >> My concern here is that once this goes in for 1 command, the others in >> iproute2 need to follow suit - meaning same syntax style for all >> commands. Given that I'd prefer we get a reasonable consensus on syntax >> that will work across commands -- ss, ip, tc. If it is as simple as >> column names with a fixed order, that is fine but just give proper >> consideration given the impact. > > FWIW I just started piping iproute2 commands to jq. Example: > > tc -s -j qdisc show dev em1 | \ > jq -r '.[] | > [.kind,.parent,.handle,.offloaded,.bytes,.packets,.drops,.overlimits,.requeues,.backlog,.qlen,.marked] > | @tsv' > > JSONification would probably be quite an undertaking for ss :( >
Right, that is used in some of the scripts under tools/testing/selftests. I would put that in the 'heavyweight solution' category. A number of key commands offer the capability to control the output via command line argument (e.g., ps, perf script). Given the amount of data iproute2 commands throw at a user by default, it would be a good usability feature to allow a user to customize the output without having to pipe it into other commands.