Re: Format Output of bash into columns

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 26 Nov 2004 19:27:09 -0500, Anthony E. Greene wrote
> On 26-Nov-2004/17:37 -0600, Mike Vanecek <rh_list@xxxxxxxxxxxxx> wrote:
> >I have looked through my books and googled ... Tried serveral things 
without
> >success ...
> >
> >I would like to run the output of a bash command that produces 1 field per
> >line output through sort and then output in 3 columns. I have looked at
> >printf, fmt, column, and so on.
> >
> >For example,
> >
> >rpm -qa | sort 2>&1 |  column -c 2 
> >
> >rpm -qa | sort |  column -c 2
> >
> >Or say I have a file with a list of sorted names, for example,
> >[admin@www admin]$ rpm -qa | sort -o rpm.txt
> >
> >Then I want to output the file with
> >
> >column -c 2 rpm.txt
> >
> 
> #!/usr/bin/perl
> #
> # Format STDIN into three tab-delimited columns
> #
> $colnum = 1;
> while ($line = <STDIN>) {
>   chomp $line;
>   if ($colnum < 3) {
>     print "$line	";  # The whitespace is a tab character.
>   } else {
>     print "$line\n";
>   }
> }
> 
> You could get fancy using perl's formatting features, but this quick$
> dirty should work for lines that are all of similar length, or for input
> in an application that easily parses tab-delimited data.
> 

Thank you for the script. Another solution that I stumbled upon is to use pr, 
e.g.,

rpm -qa | sort | pr --columns 3 -at  type of thing.

It truncates the columns a bit, but ...


-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list

[Index of Archives]     [CentOS]     [Kernel Development]     [PAM]     [Fedora Users]     [Red Hat Development]     [Big List of Linux Books]     [Linux Admin]     [Gimp]     [Asterisk PBX]     [Yosemite News]     [Red Hat Crash Utility]


  Powered by Linux