Consider this usage of rs(1)
:
rs -n -z -c, <<CSV
a,b,c
dd,ee,ff
CSV
The above snippet emits:
a b c dd ee ff
But I was expecting to see something like this:
a b c
dd ee ff
The manual suggests that the output array shape should match the input array shape unless configured otherwise.
rs -h
using the same input emits 2 3
, which suggests that rs
does correctly identify the input array shape.
What am I misunderstanding in the usage of rs
? Is there a way to have it automatically format the output with the same shape as the input?
-T
(pure transpose) then piping the result through a secondrs -T
seems to work for me – steeldriver Jan 31 '23 at 22:09rs
question butcolumn -s, -t <<CSV ...
does what you want. – glenn jackman Feb 01 '23 at 03:00column
when a leading cell is "blank", which is how I foundrs
in the first place! I made a follow-up question about it: https://unix.stackexchange.com/q/733969/73256 – shadowtalker Feb 01 '23 at 16:27rs
has the same problem ascolumn
in that example! It's a little surprising that these basic tools behave so weirdly. I'm tempted to write my own AWK script and ignore all these. – shadowtalker Feb 01 '23 at 16:27rs
is used to reshape data. It seems that you don't actually want to reshape the data, which in turn meansrs
might be the wrong tool for the job. – Kusalananda Feb 13 '23 at 12:10rows
andcols
is the-T
option, which transposes the input. All other options rely on the user specifying eitherrows
orcols
explicitly to reshape the data to that specification. – Kusalananda Feb 14 '23 at 17:32